SearchEngines.bg

Това е примерно съобщение за гост. Регистрирайте безплатен акаунт днес, за да станете потребител на SearchEngines.bg! След като влезете, ще можете да участвате в този сайт, като добавите свои собствени теми и публикации, както и да се свържете с други членове чрез вашата лична входяща кутия! Благодарим ви!

Нов Smooth PHP framework

strcmp

New member
Здравейте,
Преди около седмица бе пусната в Open Source обществото нов PHP framework, който си заслужава поне по един поглед, а именно Smooth фреймуорк(Smooth PHP Framework). В основни линии проектът цели да помогне на разработчиците при писането на проекти. Никой не обича да пише хиляди редове пълни с код, който рано или късно ни създава големи проблем, с това се бори и Smooth. Целта на разработчиците е да осигури лесен за работа, разбираем и същевременно много мощен фреймуорк, чрез който пишете качествено и бързо. Разгледайте всички възможности на Smooth и го изберете за своя следващ проект.

Официалният сайт на проекта: Smooth PHP Framework
Онлайн документация: Smooth PHP Framework Documentation
Официална repository в Github: https://github.com/smoothframework/Smooth
 
За: Нов Smooth PHP framework

За: Нов Smooth PHP framework

Красота, доста е опростен и ползва последните конвенции и новости в PHP 5.3+
 
За: Re: Нов Smooth PHP framework

За: Re: Нов Smooth PHP framework

За момента, нямаме сведения, поради следната причина: първата официална версия излезе преди седмица, но това не пречи да пробваме тепърва да се разработят сериозни проекти на базата му.
 
Re: Нов Smooth PHP framework

за мен това не е добре : https://github.com/smoothframework/Smooth/blob/master/Smooth/loader/Loader.php

$data = array('form', 'generator', 'db', 'url', 'frontend', 'crypt', 'math', 'datetime');

foreach($data as $library)
{
$library_path = SYSPATH . 'libraries/' . ucfirst($library) . '.php';
if( file_exists($library_path) )
include $library_path;
else
exit('I can not find <b>' . $library . '</b> library at <b>' . $library_path . '</b>');
}

1. първо защо с include а не с require_once
2. после защо трябва задължително да ги лоадваш при положение че може да ползваш spl_autoload и да се лоадват когато е необходимо
3. защо ти е клас за database като вътре ползваш PDO И не виждам начин да промениш динамично данните за връзка към базата. това е абсурд променливите да са ти забити в класа
4. защо класа за модела не екстенда класа за базата данни или защо поне няма вътре променлива която да пази името на таблицата или връзката към базата
5. няма layout до колкото виждам метода рендер на контролера само печата някакъв файл.

//едит
6. нямаш request/response и view object
7. нямаш варианти да си настроиш рутера да ползва друга url schema
8. не можеш от един контролер да пренасочиш към друг контролер (освен с редирект)
9. в рутера когато не може да се намери контролер ще гръмне, а трябва да има начин нещата да се рутират към default/error контролер
10. нямаш адекватан система за реакция при грешка
11. няма система за локализация


надвам се че не приемаш критиката ми като обида. за мен нещата не са планирани добре и не са реализирани добре.
и също съм на мнение че пазара няма нужда от нов фреймуърк като се има в предвид Zend, Yii, CodeIgniter, CakePHP, Kohana
 
Последно редактирано:
За: Re: Нов Smooth PHP framework

За: Re: Нов Smooth PHP framework

за мен това не е добре : https://github.com/smoothframework/Smooth/blob/master/Smooth/loader/Loader.php



1. първо защо с include а не с require_once
2. после защо трябва задължително да ги лоадваш при положение че може да ползваш spl_autoload и да се лоадват когато е необходимо
3. защо ти е клас за database като вътре ползваш PDO И не виждам начин да промениш динамично данните за връзка към базата. това е абсурд променливите да са ти забити в класа
4. защо класа за модела не екстенда класа за базата данни или защо поне няма вътре променлива която да пази името на таблицата или връзката към базата
5. няма layout до колкото виждам метода рендер на контролера само печата някакъв файл.

//едит
6. нямаш request/response и view object
7. нямаш варианти да си настроиш рутера да ползва друга url schema
8. не можеш от един контролер да пренасочиш към друг контролер (освен с редирект)
9. в рутера когато не може да се намери контролер ще гръмне, а трябва да има начин нещата да се рутират към default/error контролер


надвам се че не приемаш критиката ми като обида. за мен нещата не са планирани добре и не са реализирани добре.
и също съм на мнение че пазара няма нужда от нов фреймуърк като се има в предвид Zend, Yii, CodeIgniter, CakePHP, Kohana

Не приемам критика като обида, по - скоро е градивна за мен. Да отговоря на въпросите ти:
1. Файлът в Github е променен, но това не е отразено във Smooth 0.0.1, а ще бъде включено в следащата версия.
2. Настройването на базата данни е променено и в следващата версия ще е през Config файл(отделно от връзката) + класа ще бъде вързан с връзката.
3. Методът render() отпечатва към template файл, който разпределя променливите и зарежда необходимите файлове.
4. Идеите за рутера + request, response + редиректа от контролера ги приемам напълно и ще бъдат вградени.

Радвам се, че получавам feedback от разработчици, а относно мнението за това, че на пазара са всички тези големи фреймуъркове всеки си има право на избор, само през последната година излязоха няколко нови, които в момента са на върха и ако всички разработчици мислеха по подобен начин в момента щеше да има само един, единствен фреймуърк.
 
Re: Нов Smooth PHP framework

3. Методът render() отпечатва към template файл, който разпределя променливите и зарежда необходимите файлове.
така де, за всеки action трябва да имаш отделно view в което да имаш повтарящите се елементи, като например менюта ляв панел, десен панел, футър и тн., трябва да има система при която имаш layout който е един и в който са всички повтарящите се елементи и view което специфично за определения action което се рендерира в layout-а.

принципно мислил ли си за модулност? как например ще реализираш админ панел?

няма да е лошо да пуснеш един демо проект да виждаме как работят нещата, примерно една блог система.
 
За: Re: Нов Smooth PHP framework

За: Re: Нов Smooth PHP framework

Именно това е ролята на template файла, той зарежда само нужната информация, която се променя, а header, footer, sidebar и други конфигурирани повтарящи се елементи се зареждат автоматично без никаква нужда разработчика да се занимава с тях. Добра идея е да пусна един такъв проект, може би заедно с някоя от следващите версии на проекта.
 
Re: Нов Smooth PHP framework

това:
PHP:
try
{
$connector = new PDO($dsn, $mysql['username'], $mysql['password'], array( PDO::ATTR_PERSISTENT => true ));
}
catch(\PDOException $e)
{
exit($e->getMessage());
}

if( isset( $config['charset'] ) )
$connector->prepare("SET NAMES " . $config['charset'])->execute();
$connector->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

return $connector;

защо не го направиш така, че ако гръмне не е ясно къде ще отиде ексепшъна:
PHP:
try
{
$connector = new PDO($dsn, $mysql['username'], $mysql['password'], array( PDO::ATTR_PERSISTENT => true ));
if( isset( $config['charset'] ) )
$connector->prepare("SET NAMES " . $config['charset'])->execute();
$connector->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

return $connector;
}
catch(\PDOException $e)
{
exit($e->getMessage());
}
 
За: Re: Нов Smooth PHP framework

За: Re: Нов Smooth PHP framework

това:
PHP:
try
{
$connector = new PDO($dsn, $mysql['username'], $mysql['password'], array( PDO::ATTR_PERSISTENT => true ));
}
catch(\PDOException $e)
{
exit($e->getMessage());
}

if( isset( $config['charset'] ) )
$connector->prepare("SET NAMES " . $config['charset'])->execute();
$connector->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

return $connector;

защо не го направиш така, че ако гръмне не е ясно къде ще отиде ексепшъна:
PHP:
try
{
$connector = new PDO($dsn, $mysql['username'], $mysql['password'], array( PDO::ATTR_PERSISTENT => true ));
if( isset( $config['charset'] ) )
$connector->prepare("SET NAMES " . $config['charset'])->execute();
$connector->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

return $connector;
}
catch(\PDOException $e)
{
exit($e->getMessage());
}

Благодаря за идеята. Грешката е от страна на недоглеждане и е вече оправена. Ако забележите друга грешка или просто имате предложение/мнение, ние сме напълно съгласни да получим ценен feedback от потребителите.
 
Re: Нов Smooth PHP framework

както и предния път казах, пуснете един демо проект за да видим какво се случва реално и как се правят нещата според вас.
 

Горе