Похоже ошибка из-за того код вызывается из eval() в результате нет инфы об аргументах, я пофиксил так:
<?php
public function findCaller() {
$stack = debug_backtrace();
$stack_count = count($stack);
for ($i = 0; $i < $stack_count; ++$i) {
if (strpos($stack[$i]['file'], 'includes' . DIRECTORY_SEPARATOR . 'database') === FALSE) {
$next_index = $i + 1;
return array(
'file' => $stack[$i]['file'],
'line' => $stack[$i]['line'],
Может быть жесткий медленный на сервере, у меня такое было, если у вас VPS, можете проверить с помощью hdparm, как-то так, примерно:
hdparm -Tt /dev/девайс
должно быть хотя бы 30 MB/sec, а лучше больше
Товарищи, кто заинтересован в модуле и его развитии, и имеет аккаунт на Друпале, просьба продвинуть модуль, застрял в sandbox http://drupal.org/node/1389042
andypost@drupal.org и еще, на что в ctools вы думаете стоит обратить внимание? Какую версию ctools вы предлагаете рассмотреть? Для какой версии Друпала?
И еще, пока CMS это планы, меня пока устраивает Drupal в чуть измененном состоянии (см. форк myak). Скорее всего CMS это мое стремление все переделать. Так что пока форк, а там посмотрим. И насчет модулей: др. contributed модули могут не работать потому как многие модули бросают исключения E_NOTICE (из-за того, что написаны для др. уровня контроля ошибок, в myak используется E_ALL ^ E_DEPRECATED). Я решаю это в своих проектах только правкой кода модуля. Естественно при этом, если модуль нужно будет обновить, то приходится правку применять опять. Другого варианта я пока не вижу.
Хочу уточнить мою политику: я понимаю, что если я пофиксю только те модули, которые есть в составе форка, другие могут не работать. Поэтому говорю сразу: форк не рассчитан на другие contributed модули, будут (могут) поддерживаться только те модули которые уже есть там, которые я сам смогу поддерживать, или которые добавятся в будущем. Я бы хотел обойтись минимальными правками, при этом не исключено, что в будущем, из форка выделится отдельная CMS, которая будет использовать самые классные (по-моему мнению) идеи из др. фреймворков/CMS.
Если это делается для сайтов клиентов — вы им делаете настоящую медвежью услугу, изменяя поведение стандартных вещей и не пытаясь делать это через лоббирование изменений в ядро в D8. Вы отлично попортите нервы следующему поколению разработчиков, поддерживающих проект, а они вам карму.
В общем все кто хочет увидеть нормальную поддержку ООП и что-то похожее на DDD (Domain Driven Design) с поддержкой модульного тестирования на базе PHPUnit в Друпал 6, следите за проектом на GitHub. Я не гарантирую что я реализую ее, но по крайней мере хочу воплотить свои представления об этом.
Кстати у меня есть собственная наработка - ветка Друпала 6, где все это реализовано. Только надо конечно там подчистить все. Единственное требование это PHP >= 5.3. Могу поделиться если кому-то интересно. Если не интересно, можно часть требований оформить в виде модуля, скажем с названием mvc, который будет зависеть от модуля controller.
Ну первое - это подключение контроллеров с автоматическим выбором метода и аргументов метода исходя из адреса, как мы обсуждали выше и как сделано в модуле, на который дал ссылку sas@drupal.org
Вообще я использовал этот подход, когда работал с Zend Framework и тогда мне как раз хотелось, чтобы пути можно было прописывать в комментах PHP. Для Друпала это можно реализовать так:
Просто реализация модуля в таком виде, в каком вы ее предлагаете, особой пользы при разработке не сделает. Хотя может вы собираетесь добавлять в него новые плюшки и фичи из популярных фреймворков, тогда прошу меня извинить, хотелось бы увидеть что сможет модуль спустя несколько версий, может действительно сделает разработку более привычной.
Выдает ошибку при запросе к базе данных
Похоже ошибка из-за того код вызывается из eval() в результате нет инфы об аргументах, я пофиксил так:
<?php
public function findCaller() {
$stack = debug_backtrace();
$stack_count = count($stack);
for ($i = 0; $i < $stack_count; ++$i) {
if (strpos($stack[$i]['file'], 'includes' . DIRECTORY_SEPARATOR . 'database') === FALSE) {
$next_index = $i + 1;
return array(
'file' => $stack[$i]['file'],
'line' => $stack[$i]['line'],
Исследование механизма плагинов ctools 7.x-1.0. Типы плагинов
xxandeadxx наверное тем, чем красный лучше белого.
Подскажите как можно реализовать, чтобы при входе на сайт пользователю отображался IP-адрес компа, скоторого он зашел
Вот, может поможет:
<?php
function getIp($checkProxy = true) {
if ($checkProxy && !empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} else if ($checkProxy && !empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
echo getIp();
?>
Проблема с Batch
Может быть жесткий медленный на сервере, у меня такое было, если у вас VPS, можете проверить с помощью hdparm, как-то так, примерно:
hdparm -Tt /dev/девайс
должно быть хотя бы 30 MB/sec, а лучше больше
Исследование механизма плагинов ctools 7.x-1.0. Типы плагинов
О! Полезно, погляжу!
MVC в Drupal. Новый подход.
Вы о чем? Какой базовый функционал, что переделывать, ничего не понял... Первый пост прочтите.
MVC в Drupal. Внедряем Page Controller'ы.
У темы появилось продолжение.
MVC в Drupal. Новый подход.
Вопрос всем ответившим выше, вы программировали что-нибудь серъезнее сайта-визитки с богатой бизнес логикой?
MVC в Drupal. Новый подход.
Именно нод.
MVC в Drupal. Новый подход.
А ноды чем вам не модели?
Многозначительно...
MVC в Drupal. Внедряем Page Controller'ы.
Товарищи, кто заинтересован в модуле и его развитии, и имеет аккаунт на Друпале, просьба продвинуть модуль, застрял в sandbox
http://drupal.org/node/1389042
MVC в Drupal. Внедряем Page Controller'ы.
andypost@drupal.org и еще, на что в ctools вы думаете стоит обратить внимание? Какую версию ctools вы предлагаете рассмотреть? Для какой версии Друпала?
MVC в Drupal. Внедряем Page Controller'ы.
Вам в свою очередь рекомендую прочитать эту тему.
MVC в Drupal. Внедряем Page Controller'ы.
И еще, пока CMS это планы, меня пока устраивает Drupal в чуть измененном состоянии (см. форк myak). Скорее всего CMS это мое стремление все переделать. Так что пока форк, а там посмотрим. И насчет модулей: др. contributed модули могут не работать потому как многие модули бросают исключения E_NOTICE (из-за того, что написаны для др. уровня контроля ошибок, в myak используется E_ALL ^ E_DEPRECATED). Я решаю это в своих проектах только правкой кода модуля. Естественно при этом, если модуль нужно будет обновить, то приходится правку применять опять. Другого варианта я пока не вижу.
MVC в Drupal. Внедряем Page Controller'ы.
Хочу уточнить мою политику: я понимаю, что если я пофиксю только те модули, которые есть в составе форка, другие могут не работать. Поэтому говорю сразу: форк не рассчитан на другие contributed модули, будут (могут) поддерживаться только те модули которые уже есть там, которые я сам смогу поддерживать, или которые добавятся в будущем. Я бы хотел обойтись минимальными правками, при этом не исключено, что в будущем, из форка выделится отдельная CMS, которая будет использовать самые классные (по-моему мнению) идеи из др. фреймворков/CMS.
MVC в Drupal. Внедряем Page Controller'ы.
MVC в Drupal. Внедряем Page Controller'ы.
Мне оно приснилось.
MVC в Drupal. Внедряем Page Controller'ы.
В общем все кто хочет увидеть нормальную поддержку ООП и что-то похожее на DDD (Domain Driven Design) с поддержкой модульного тестирования на базе PHPUnit в Друпал 6, следите за проектом на GitHub. Я не гарантирую что я реализую ее, но по крайней мере хочу воплотить свои представления об этом.
MVC в Drupal. Внедряем Page Controller'ы.
boneg, спасибо, так понял
MVC в Drupal. Внедряем Page Controller'ы.
Как пример что можно расширить в nodeapi(). Многие часто пишут в hook_nodeapi():
MVC в Drupal. Внедряем Page Controller'ы.
Кстати у меня есть собственная наработка - ветка Друпала 6, где все это реализовано. Только надо конечно там подчистить все. Единственное требование это PHP >= 5.3. Могу поделиться если кому-то интересно. Если не интересно, можно часть требований оформить в виде модуля, скажем с названием mvc, который будет зависеть от модуля controller.
MVC в Drupal. Внедряем Page Controller'ы.
Вообще я использовал этот подход, когда работал с Zend Framework и тогда мне как раз хотелось, чтобы пути можно было прописывать в комментах PHP. Для Друпала это можно реализовать так:
MVC в Drupal. Внедряем Page Controller'ы.
MVC в Drupal. Внедряем Page Controller'ы.
MVC в Drupal. Внедряем Page Controller'ы.
Я бы еще добавил здесь: видим чужое, а свое нет.