В этом цикле статей я расскажу вам об основных аспектах разработки модулей для Drupal 7.
Основа успеха любого сайта - это, в первую очередь, стабильный и надёжный хостинг. От его него зависят многие важные параметры сайта, такие как: скорость загрузки страницы, время отклика и аптайм сервера. В поисках подходящей площадки можно перебрать множество хостинговых компаний, арендовать виртуальный сервер или даже физический. Можно поднять свой собственный сервер. Иногда даже бесплатный хостинг может удовлетворить ваши потребности.
Уметь писать код - не значит уметь делать это правильно. Хороший код - это как красиво оформленный пост - его удобно читать, в нём легко ориентироваться и разработчику всегда понятно как его расширить, отладить или использовать для других целей.
Поэтому всегда важно уделять внимание оформлению кода, комментировать сложные участки кода.
Вначале немного теории. Один и тот же код можно писать разными способами. Код может быть процедурным, функциональным и объектно-ориентированным.
Для вывода отладочных сообщений в JavaScript используют команду console.log, о ней знают все, кто хоть сколько-нибудь связан с web-разработкой.
Она выводит строку, число или объект.
Например:
var m = {q:4,d:6};
Выведет:
Но можно задать отладочным сообщениям оформление.
Например:
Выведет:
DB::enableQueryLog(); $views = DB::table('real_views') ->leftJoin('node_info', 'node_info.nid', '=', 'real_views.nid') ->select('node_info.nid as node_nid','real_views.nid as real_nid') ->where('real_views.id', '>', $start_id) ->orderBy('real_views.id', 'asc') ->take(10) ->get();
use GuzzleHttp\Client;
$options = [ 'name' => 'my name', 'client_id' => 'my client_id', 'client_secret' => 'my client_secret', ]; $client = new Client(); $res = $client->request('POST', 'https://oauth.server.local/token', ['form_params' => $options]); echo $res->getBody();
//пример конфига в services.php 'yandex' => [ 'client_id' => '95869100dkfdo48gjc32269826ef926a', 'client_secret' => '191b012b2299e7jfye4hv789gd03ee6c9', 'redirect' => 'http://localhost/test-oauth', ], //выведет 191b012b2299e7jfye4hv789gd03ee6c9 config('services.yandex.client_secret');
namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use Illuminate\Support\Facades\DB; class CronController extends Controller { public function myCallback() { echo __FUNCTION__; } }
namespace App\Http\Middleware; use Closure; class LocalhostOnly { /**
function mymodule_theme_registry_alter(&$theme_registry) { $theme_registry['toolbar']['path'] = $theme_registry['toolbar']['theme path'] = drupal_get_path('module', 'mymodule'); }
<div id="toolbar" class="<?php print $classes; ?> clearfix"></div>