https://bitbucket.org/ivaaaan/mvc-php-systemвот, оцените пожалуйста. Дайте замечения, что и как лучше переделать.
Invis1ble
8.02.2014 - 15:12
Первое, что бросилось в глаза - echo вместо исключений, это очень плохо.
_____________
Профессиональная разработка на заказЯ на GitHub |
второй профиль
Цитата (Invis1ble @ 8.02.2014 - 15:12) |
Первое, что бросилось в глаза - echo вместо исключений, это очень плохо. |
public function model($name){
if($name){
if(is_file($_SERVER['DOCUMENT_ROOT'].'/app/models/'.$name.'.php')){
include('app/models/'.$name.'.php');
return new $name;
}
else{
throw new Exception("Model $name not found");
}
}
else{
throw new Exception("Unknown model");
}
}
вот сделал так. так лучше будет?
Игорь_Vasinsky
8.02.2014 - 20:11
ест-но)
ну может свой класс исключений, но по мне и так пойдёт.
Цитата |
if(is_file($_SERVER['DOCUMENT_ROOT'] |
не камильфо внутри класса юзать суперглобальный массив
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Цитата |
не камильфо внутри класса юзать суперглобальный массив |
а что камильфо?)
Игорь_Vasinsky
8.02.2014 - 21:53
наверно путь от __FILE__
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
n13b123
12.02.2014 - 16:40
1 я бы заменил
include($_SERVER['DOCUMENT_ROOT'].'/app/config/defines.php');
на
include('./app/config/defines.php');
2 __autoload самое место в loader.php
3 не холивара ради, но отступы табуляцией советую делать
как-то все по форматированию )
bestxp
12.02.2014 - 17:08
tabs vs spaces вечный холивар, пусть будут пробелы)))
что ближе к psr-1
bestxp
12.02.2014 - 17:09
Autoload через composer
prs-0
psr-1
psr-4 стандарты при разработке
хотя бы PSR-0, PSR-1, PSR-2
1. Возьмите стандартный autoloader из примера к PSR-0. Не подключайте файлы классов сами, пусть это делает автозагрузчик классов, это его работа.
2. Не храните конфиги в константах. Храните в массивах, а над массивами сделайте обвертку.
3. Используйте сторонний роутер, не изобретайте велосипед. К примеру есть
https://github.com/dannyvankooten/AltoRouter, весьма прост.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
https://bitbucket.org/ivaaaan/php-mvc/srcВот обновил. Добавил нормальный конфиг, автозагрузка psr-0 через composer. оцените теперь, пожалуйста
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.