Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
Ошибка №1 - short open tag.
Заметил сразу как открыл. Такие вещи в будущем не будут поддерживаться и будут исключены (в 5.4 уже исключены), кроме <?=
По ходу дела еще чего нибудь напишу (Добавление)
Класс debug настораживает...
digi
Отправлено: 15 Мая, 2012 - 18:14:56
Посетитель
Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012
Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012
Помог: 4 раз(а)
есть отличное понятие "Стандарты кодирования" можно взять за основу например http://symfony.com/doc/master/contributing/code/standards.html, код читается очень легко и не важно сам ты его написал или кто-то другой и не важно юзаете ли вы симфони сейчас или нет... всё равно если есть в планах серьёзное занятие программированием, то лучше приобщиться сразу к мировой практике ;) а еще лучше сразу изучать симфони2 ;) благо с этого года начали появлятсья русскоязычные статьи ;)
еще полезно юзать "Соглашения по именованиям методов, например такие http://symfony.com/doc/master/contributing/code/conventions.html.
а, по коду:
2) непонятно зачем вы возвращаете что-то вообще из конструктора? вроде как только с РНР 5.4 допускается запись вида $Obj = new ClassName()->getSomeBar('some_val'); но вроде как и тут ненадо ничего возвращать из конструктора...
кстати, почему есть методы которые вызываются статически, но они не объявлены статическими? ;)
вы какие-нить фреймворки изучали? надо познакомиться хотябы с Symfony2 и Yii, разумеется юзать симфони, а йии просто посомтреть как раньше прихоилось юзать статику из-за корявости РНР 5.1
Мелкий
Отправлено: 16 Мая, 2012 - 09:51:47
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Поглядел мельком код - то ли где-то хитро заныкано, то ли сплошная дыра по части инъекций.
digi пишет:
но вроде как и тут ненадо ничего возвращать из конструктора...
Фишка в том, что из конструктора вообще ничего не возвращается. return - лишь способ прервать выполнение.
Но при этом конструктор и метод __construct - разные вещи. Технически никто не мешает:
Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012
Помог: 4 раз(а)
Мелкий, есть еще очень популярные системы например Bitrix, joomla, Drupal, Wordpress и т.д. но популярность не связана с грамотной внутренней технической реализацией.
а вы "превосходство" как именно измеряете? в милисекундах? ;)
какой у вас личный опыт работы с сф2, зф и йии?
Мелкий
Отправлено: 16 Мая, 2012 - 11:49:45
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Речь лишь о том, что каждой задаче - свои инструменты. Если для вашей задачи тяжеловес симфони подходит - можете использовать его.
Но это далеко не сам собой разумеющийся выбор.
digi пишет:
какой у вас личный опыт работы с сф2, зф
Небольшой, да. Не нашёл ничего, ради чего надо выполнять такую прорву работы на запуск.
Мне Yii и kohana тяжёлыми кажутся, а уж эти - подавно.
----- PostgreSQL DBA
digi
Отправлено: 16 Мая, 2012 - 12:04:29
Посетитель
Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012
Помог: 4 раз(а)
всё верно, инстурмент должен быть под задачи но называть симфони 2 тяжеловесом это неверно ;)) там очень интересные механизмы кеширования реализованы и в купе дают очень вкусный результат в плане скорости ;)
Мелкий
Отправлено: 16 Мая, 2012 - 12:31:15
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
digi, пруф выше. Банальный hello world - в 4 раза больше ресурсов, чем Yii. Отдельно замечу - это не единичный запуск, а конкурентные 200-поточные 50 тыс. запросов.
Нет, конечно, если сравнивать с каким-нибудь битриксом - получится манна небесная. А с другими фреймворками - откровенный тяжеловес.
----- PostgreSQL DBA
digi
Отправлено: 16 Мая, 2012 - 13:49:46
Посетитель
Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012
Помог: 4 раз(а)
скачал php-framework-benchmark, пощупал затея интересная! только расчинана на новичков ;) чтобы спугнуть их псевдо исслодованиями ;)
скачал репу и в сф2 оставил только 2 бандла, которые и нужны для "хелло ворлда"
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
new Acme\HelloBundle\AcmeHelloBundle(),
итого йии выигрывает примерно 10-20%, что в прицнипе нормально
очень былобы интересно глянуть на похожий бенчмаркинг, но чтобы на фреймворках предлагалось решение типового блога. (Добавление)
Думаю стоит упонямуть, что автор этого бенчмарка при включанных по умолчанию всех бандлов предлагает когфигураци, на которой у меня вот такие показатели:
Execution time: 0.022 sec. Memory usage 1562920 bytes (1835008 peak)
да, действительно по времени раз 5 раз медленнее, и в 2 раза больше памяти съедает... но тогда надо и в йии, включать автостарт сессий, систиему безопасности, работу с БД, логгирование, работу с аннотациями, шаблонизатор твиг, работу с формами, CSRF защиту, работу с почтой и т.д... ) а то карманный калькулятор с настлоьным компьютером сравнили и сделали вывод на полном серьёзе ;) (Добавление)
кстати, предлагаю форумчанам и сделать такой бенчмаркинг! давайте сделаем решение типового блога на разных платформах и погоняем их сами? я на себя Symfony2 готов взять
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.