Как стать автором
Обновить
0
0
Антон Петрунич @solenko

Пользователь

Отправить сообщение
Конечно важна, но, скажите, вы можете привести пример строки, которая может вызвать сбой при передаче в function_exists? )
1. Просто если мы определяем какой метод вызывать, то теряется сам смысл рефлексии. Она ведь нужна только потому что из текущего класса все is_callable. А так это смотрится не как пример построения контроллера, а как слегка надуманный пример использования рефлексии, за что спасибо.

2. Спасибо. Как-то упустил это расширение. Кстати, в вашем случае, его может заменить и своим классом )

3. Так и я не про acl говорю. ACL, по сути, не навязывает где должна проходить проверка прав доступа. При использовании вашего метода, где имеено и на каком этапе вы будете определять какие нужно инстанцировать как User* а какие нет?

При таком контроллере + огрничении доступа воображение рисует index.php вида:
swich($module) {
   case 'blog':
      if (User::isAuthenticated()) 
       $module = new UserBlogModule();
    else
       $module = new BlogModule();
     }
}
if ($module) {
   $module->buildPage('action');
}

Немного неудобно, не правда ли?
1. А инстанцирование нужного модуля вы на контроллер не возлагаете? Тогда вы не избавляетесь от swich, а просто уменьшаете его размер (нужно будет выбирать только модуль). Почему не вынести контроллер в отдельный класс и не проверять точно так же class_exists и проверять публичность меода через is_callable?

2. А где исходник самого ReflectionMethod? Мне пока не совсем понятно зачем он вообще нужен.

3.
>> if (проверка авторизации)
>> $module=new UserExampleModule();
>> else
>> $module=new ExampleModule();
Совсем уж как-то дико выглядит. Намного проще/понятней закрывать доступ к отдельным функциям или модулям. Если же необходимо разное поведение для (не)зарегестрированного пользователя, то проверять авторизацию уже в самом модуле и из одного и того же public метода вызывать разные private/protected
А потом в проект прийдет новый разработчик и вынужден будет учить фрейверк, о котором 100% никогда раньше не слышал и по которому нет нормальной документации
Да, с 9 до 18, но в каком часовом поясе? ;)
Да, с 9 до 18, но в каком часовом поясе?:)
Сейчас мои клиенты расколожены в зоне -4GMT.
IP 92.113.143.2
Определило как Киев, сижу в Харькове.
Возможно все та же проблемма "крупных сетей" (укртелеком).
Использую не только во избежание конфликтов, но и для разделения функций инициализации скрипта. Сейчас пользуюсь схемой — namespace на страницу + один для общих функций.

Все это сложено в один файл + на каждой странице iniline скрипт содержания active_namespace = "Home". Т.е. по DOMReady будет вызвана Home.init()
вообще-то из main должен возвращатся код завершения прораммы.
0 - корректная работа. отсальное — код ошибки.
> Мы рассчитываем отобрать 100—200 номинантов.
Т.е. всем желающим стоит спешить и по набору некоторого количества номинантов (200?) прием заявок будет закрыт?
OpenID предназначен для авторизации человека, а OAuth для атворизации приложений.
1. Вы не могли бы привести пример передачи в такую функцию, например, массива? Я действительно не могу понять как это сделать.
Мдя... Сглупил. Не подумал, что include_once будет не только читаться, но и интерпретироваться только однажды.
1. Как в такую функцию передавать параметры?
2. eval("function test".rand(0, 1111)."() { ?> <html> <?php } ");
не выводит и не возвращает ничего

По поводу последнего — мне показалось, что автор имел в виду кеширование уже итогового html
У меня получились такие результаты:

include в цикле — 0.0004260
include_once в цикле — 0.000082688331
eval (получение кода до цикла) — 0.0002123594
мой_вариант — 0.0000336432456

Мой вариант — однажды подключение файла и потом вызов описанной в нем функции. Естественно, его минус это необходимость присваивать уникальные имена функциям.

Т.е. eval таки медленнее. Ну а остальные его плюсы для меня очень сомнительны (при хранении представления в БД, конечно, без него не обойтись, но это очень редкий случай)

> + Возможность кеширования кода представлений во фреймворке или шаблонизаторе
Совсем уж сомнительный плюс. Вы же не подключаете один и тот же кусок шаблона с одинаковыми параметрами?
Действительно, очень похож. Вплоть до имен CSS классов )
Тогда нужно смотреть в сторону KML — там можно указывать области видимости
> неплохо если бы в google был reverse geocoding
Он есть (хотя пока и без официального релиза)-- http://solenko.blogspot.com/
Тут от google maps используется только геокодинг, а для этого достаточно отправить запрос. Гуглу как-то все равно, кто его ответ будет обрабатывать — javascript или другой язык.
Во-первых, на кавычках экономит не только google, а еще и ya.ru, например.

Во-вторых, давайтие разделять исходники и конечный продукт. Ведь против gzip и минимизированных js вы не возражаете? Так почему бы не минимизировать и html перед выходом в продакшн? Естественно, это имеет смысл только, если у вас очень маленький размер страницы. Вот гугл и яндекс на этом имеют неплохую экономию в процентах.

Информация

В рейтинге
Не участвует
Откуда
Харьковская обл., Украина
Дата рождения
Зарегистрирован
Активность