Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Укажите на ошибки

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (4): [1] 2 3 4 »   

> Без описания
etoYA
Отправлено: 15 Мая, 2012 - 17:11:40
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




Вот сайт, точнее только движок и то не доделаный. А шаблона так вообще нету.. Можете посмотреть код и указать на ошибки?
Скачать файл: site.com.rar
Скачан раз: 125

(Отредактировано автором: 15 Мая, 2012 - 17:11:54)

 
 Top
Bio man
Отправлено: 15 Мая, 2012 - 17:21:49
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




Ошибка №1 - short open tag.
Заметил сразу как открыл. Такие вещи в будущем не будут поддерживаться и будут исключены (в 5.4 уже исключены), кроме <?=
По ходу дела еще чего нибудь напишу
(Добавление)
Класс debug настораживает...
 
 Top
digi
Отправлено: 15 Мая, 2012 - 18:14:56
Post Id


Посетитель


Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012  


Помог: 4 раз(а)




1) в классах не должно быть хтмл тэгов.

PHP:
скопировать код в буфер обмена
  1. class AdminController extends AbstractController{
  2.    // ......
  3.    $this->errstr .= '<pre>Введите пароль</pre>';
  4. }


2) как вы используете эту конструкцию?
PHP:
скопировать код в буфер обмена
  1.  
  2.         function __construct(Router $route){
  3.                 $this->route = $route;
  4.                 return $this->route;
  5.         }
  6.  


3) имхо статику надо юзать только в особо необходимых случаях, и потобные вещи выглядят некрасиво Недовольство, огорчение
PHP:
скопировать код в буфер обмена
  1. class CategoryController extends AbstractController{
  2.     // ....
  3.     'page' => Films::selectFilm($arg[1], $catId),
  4. }


4) комбинация комментариев в стиле // и # странно смотрится ;)) вообще имхо лучше не юзать в РНР каменты #.

5) почему не указываете режим доступа к методам?

6) с БД первый раз вижу такое решение Улыбка) забавное Улыбка) толкьо не ООП-шное ;) присмотритесь к PDO, а еще можно сразу присмотреться к Doctrine DBAL.

ну как-то так ;)
 
 Top
etoYA
Отправлено: 15 Мая, 2012 - 18:31:52
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




А что с БД не так? MySQLi юзаю
(Добавление)
digi пишет:
1) в классах не должно быть хтмл тэгов.


Это только для теста, потом уберу. Просто накрылся монитор немогу нормальный шаблон сделать).

digi пишет:
2) как вы используете эту конструкцию?


$this->route->setLayout($tpl->render('index.phtml'));
digi пишет:
3) имхо статику надо юзать

только в особо необходимых случаях, и потобные вещи выглядят некрасиво


Так вроде бы и есть).

etoYA пишет:
5) почему не указываете режим доступа к методам?


А смысл? Если нужен приватный метод или протектный, то указываю, а в паблинке не вижу смысла..
(Добавление)
Bio man пишет:
Ошибка №1 - short open tag.


Это <? ?> ?

(Отредактировано автором: 15 Мая, 2012 - 18:43:40)

 
 Top
Мелкий Супермодератор
Отправлено: 15 Мая, 2012 - 19:10:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Bio man пишет:
Такие вещи в будущем не будут поддерживаться и будут исключены (в 5.4 уже исключены),

ЧЯНТД?
CODE (bash):
скопировать код в буфер обмена
  1. web@unstable:~$ php -f test.php
  2. 5.4.0-2
  3. web@unstable:~$ cat test.php
  4. <?
  5. echo PHP_VERSION, PHP_EOL;
  6. web@unstable:~$


Никуда короткие теги не денутся, наоборот теперь неотключаемая запись <?=


-----
PostgreSQL DBA
 
 Top
Bio man
Отправлено: 15 Мая, 2012 - 19:44:06
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




Мелкий пишет:
Никуда короткие теги не денутся, наоборот теперь неотключаемая запись <?=
В общем <? по умолчанию отключены. Вот что я имел ввиду.
 
 Top
Мелкий Супермодератор
Отправлено: 15 Мая, 2012 - 19:49:56
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Bio man пишет:
В общем <? по умолчанию отключены.

Включены.
http://ru.php.net/manual/en/ini.core.php


-----
PostgreSQL DBA
 
 Top
digi
Отправлено: 16 Мая, 2012 - 07:22:51
Post Id


Посетитель


Покинул форум
Сообщений всего: 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 Улыбка
 
 Top
Мелкий Супермодератор
Отправлено: 16 Мая, 2012 - 09:51:47
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Поглядел мельком код - то ли где-то хитро заныкано, то ли сплошная дыра по части инъекций.

digi пишет:
но вроде как и тут ненадо ничего возвращать из конструктора...

Фишка в том, что из конструктора вообще ничего не возвращается. return - лишь способ прервать выполнение.
Но при этом конструктор и метод __construct - разные вещи. Технически никто не мешает:
PHP:
скопировать код в буфер обмена
  1. $o = new foo(); //конструктор, возвращает всегда экземпляр класса
  2. $o->__construct(); //обычный метод, что в return'е - то и вернёт


digi пишет:
только с РНР 5.4 допускается запись вида $Obj = new ClassName()->getSomeBar('some_val');

Это только синтаксический сахар. Никто не мешает:
PHP:
скопировать код в буфер обмена
  1. class foo {
  2.     public function bar() {
  3.         echo 'это - '.__CLASS__;
  4.         }
  5.     }
  6. function factory($class) {
  7.     return new $class();
  8.     }
  9. factory('foo')->bar();


digi пишет:
надо познакомиться хотябы с Symfony2 и Yii, разумеется юзать симфони


Картинки большие (2мб), но красивые:
https://github[dot]com/eryx/php-fram[dot][dot][dot]/zf2/funmap0[dot]png - ZF
https://github[dot]com/eryx/php-fram[dot][dot][dot]ony2/funmap0[dot]png - симфони2 (миниатюра выше)
И 4-кратное! превосходство Yii: https://github[dot]com/eryx/php-fram[dot][dot][dot]/yii/funmap0[dot]png
Так что у меня ооооогрооооомные сомнения в корявостях.


-----
PostgreSQL DBA
 
 Top
digi
Отправлено: 16 Мая, 2012 - 10:12:04
Post Id


Посетитель


Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012  


Помог: 4 раз(а)




Мелкий, есть еще очень популярные системы например Bitrix, joomla, Drupal, Wordpress и т.д. но популярность не связана с грамотной внутренней технической реализацией.

а вы "превосходство" как именно измеряете? в милисекундах? ;)

какой у вас личный опыт работы с сф2, зф и йии?
 
 Top
Мелкий Супермодератор
Отправлено: 16 Мая, 2012 - 11:49:45
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Речь лишь о том, что каждой задаче - свои инструменты. Если для вашей задачи тяжеловес симфони подходит - можете использовать его.
Но это далеко не сам собой разумеющийся выбор.

digi пишет:
какой у вас личный опыт работы с сф2, зф

Небольшой, да. Не нашёл ничего, ради чего надо выполнять такую прорву работы на запуск.
Мне Yii и kohana тяжёлыми кажутся, а уж эти - подавно.


-----
PostgreSQL DBA
 
 Top
digi
Отправлено: 16 Мая, 2012 - 12:04:29
Post Id


Посетитель


Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012  


Помог: 4 раз(а)




всё верно, инстурмент должен быть под задачи Улыбка но называть симфони 2 тяжеловесом это неверно ;)) там очень интересные механизмы кеширования реализованы и в купе дают очень вкусный результат в плане скорости ;)
 
 Top
Мелкий Супермодератор
Отправлено: 16 Мая, 2012 - 12:31:15
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




digi, пруф выше. Банальный hello world - в 4 раза больше ресурсов, чем Yii. Отдельно замечу - это не единичный запуск, а конкурентные 200-поточные 50 тыс. запросов.

Нет, конечно, если сравнивать с каким-нибудь битриксом - получится манна небесная. А с другими фреймворками - откровенный тяжеловес.


-----
PostgreSQL DBA
 
 Top
digi
Отправлено: 16 Мая, 2012 - 13:49:46
Post Id


Посетитель


Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012  


Помог: 4 раз(а)




скачал php-framework-benchmark, пощупал Улыбка затея интересная! только расчинана на новичков ;) чтобы спугнуть их псевдо исслодованиями ;)

скачал репу и в сф2 оставил только 2 бандла, которые и нужны для "хелло ворлда"
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
new Acme\HelloBundle\AcmeHelloBundle(),

итого сравнительные показатели:
Symfony2:
Execution time: 0.006 sec. Memory usage 877600 bytes (1048576 peak)
Yii:
Execution time: 0.005 sec. Memory usage 756064 bytes (786432 peak)

итого йии выигрывает примерно 10-20%, что в прицнипе нормально Улыбка

очень былобы интересно глянуть на похожий бенчмаркинг, но чтобы на фреймворках предлагалось решение типового блога.
(Добавление)
Думаю стоит упонямуть, что автор этого бенчмарка при включанных по умолчанию всех бандлов предлагает когфигураци, на которой у меня вот такие показатели:

Execution time: 0.022 sec. Memory usage 1562920 bytes (1835008 peak)

да, действительно по времени раз 5 раз медленнее, и в 2 раза больше памяти съедает... но тогда надо и в йии, включать автостарт сессий, систиему безопасности, работу с БД, логгирование, работу с аннотациями, шаблонизатор твиг, работу с формами, CSRF защиту, работу с почтой и т.д... Улыбка) а то карманный калькулятор с настлоьным компьютером сравнили и сделали вывод на полном серьёзе ;)
(Добавление)
кстати, предлагаю форумчанам и сделать такой бенчмаркинг! Улыбка давайте сделаем решение типового блога на разных платформах и погоняем их сами? Улыбка я на себя Symfony2 готов взять Улыбка

тогда и выводы будут более менее адекватные Улыбка

сам бы хотел увидеть решения на Yii и ZF2.

(Отредактировано автором: 16 Мая, 2012 - 14:01:14)

 
 Top
etoYA
Отправлено: 16 Мая, 2012 - 14:20:07
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




Мелкий пишет:
Поглядел мельком код - то ли где-то хитро заныкано, то ли сплошная дыра по части инъекций.

Действительно хитро заныкано). В library/debug.php
(Добавление)
digi пишет:
кстати, почему есть методы которые вызываются статически, но они не объявлены статическими? ;)


Чтобы не обьявлять обьект).
 
 Top
Страниц (4): [1] 2 3 4 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB