Комментарии 30
Symfony — следует PSR-0 и использует composer.
Yii — следует PSR-0. composer, вполне вероятно, появится во второй версии.
FuelPHP пошел своим путём. PHP-style. Тем не менее удачи.
Yii — следует PSR-0. composer, вполне вероятно, появится во второй версии.
FuelPHP пошел своим путём. PHP-style. Тем не менее удачи.
+2
Не совсем, packagist.org Пакеты через composer можно грузить уже сейчас, в коробке composer будет в 2.0
0
Дополнение с нашего форума — Fuelphp переходит на psr-2 во второй версии и один из разрабов является действующим членом PSR (с правом голоса). Ответьте плиз, а то как-то в говно незаслуженно макают нас…
0
Возможно вы правы, composer не идет из коробки, поэтому не стал заострять внимание на этом моменте. Скажите проводите ли вы аналогию возможностей пакетов с DIC в Symfony2? Как считаете на сколько удобна реализация DIC в Symfony2?
0
Не могу объективно оценить Symfony 2 т.к. практически не работал с ним.
Судя по впечатлениям от Silex, библиотек SensioLabs и взаимодействия с ними это должно быть достаточно удобно.
Судя по впечатлениям от Silex, библиотек SensioLabs и взаимодействия с ними это должно быть достаточно удобно.
0
Благодарю, но хотелось бы услышать мнение человека, который пишет код на Symfony2
0
Я пишу, только на Symfony2. Там это очень и очень удобно. Собственно, чего вы ожидали? :)
+1
Ожидал более развернутого ответа.) Можете рассказать о плюсах и минусах более подробно?
0
О минусах не расскажу — я кроме DIC в Symfony больше с ним нигде не работал, но плюсов много. Когда перешел на службы — сразу десятки багов ушли, т.к. они были уже принципиально невозможны. Псоле переработки кода его стало возможно выносить в бандлы, т.к. зависимости прописаны. Сам код чище, т.к. часть сквозного функционала (но далеко не весь) уходит во вспомогательные сервисы.
0
Уточню — DIC в Symfony2
0
А умеет ли FuelPHP компилировать контейнер?
0
Package DIC вроде умеет, но я не пользовался. Просто в bootstrap.php прописаны все загрузчики и службу не нужно предварительно загружать перед использованием, как в Symfony2
В Fuel тоже самое было бы так
<?php
class HelloController extends Controller
{
// ...
public function sendEmailAction()
{
// ...
$mailer = $this->get('my_mailer');
$mailer->send('ryan@foobar.net', ... );
}
}
В Fuel тоже самое было бы так
<?php
class HelloController extends Controller
{
// ...
public function sendEmailAction()
{
// ...
\Namesp\My_mailer::forge()->send('ryan@foobar.net', ... );
}
}
0
Простите, что? В Symfony2 не нужно загружать службу перед использованием. Причем, даже в вашем примере это видно:
$this->get('my_mailer')->send('ryan@foobar.net', ... );
0
Пример взят из документации, но вы правы, действительно можно и не загружать, как то не обратил внимания по началу. И все равно хотелось бы для себя прояснить преимущества DIC. Перешел на пакетно-ориентированную разработку недавно, и DIC не пользуюсь, а главное не вижу причин начинать. Можете для меня прояснить преимущества использования DIC? Может я чего то ещё не вижу, направьте хотябы, какие потенциальные проблемы могут ждать, если не использовать DIC?
0
Ну, скажем, легко находятся циркулярные зависимости (что есть плохо). Без DIC, мне кажется, это почти невозможно.
0
Реализация DIC в FuelPHP очень наивна, я бы даже сказал что это не DIC, а простой Service Locator.
— Не решает циркулярных зависимостей
— Не компилирует на ходу
— Не поддерживает вложенные зависимости
— Не поддерживает удобную конфигурацию, подмену зависимостей на ходу
Главный минус FuelPHP — когда их конкуренты вроде Laravel заимствуют сложные компоненты у старших братьев, разработчики FuelPHP все еще испытывают необходимость писать свой велосипед, вместо того чтобы концентрировать все внимание на какой-нибудь киллер фиче.
— Не решает циркулярных зависимостей
— Не компилирует на ходу
— Не поддерживает вложенные зависимости
— Не поддерживает удобную конфигурацию, подмену зависимостей на ходу
Главный минус FuelPHP — когда их конкуренты вроде Laravel заимствуют сложные компоненты у старших братьев, разработчики FuelPHP все еще испытывают необходимость писать свой велосипед, вместо того чтобы концентрировать все внимание на какой-нибудь киллер фиче.
0
Его «киллер-фича» это главным образом простота и расширяемость. Когда нужен дополнительный функционал или замена существующему в виде давно придуманных велосипедов, то идем в google, ищем, выбираем по душе и через 10 минут имеем пакет для Fuelphp.
DIC в текущей версии Fuel — нет, следовательно и о реализации говорить пока рано. DIC «анонсирована» в альфа версии 2.0, её реализация может поменяться сто раз до выхода stable версии.
DIC в текущей версии Fuel — нет, следовательно и о реализации говорить пока рано. DIC «анонсирована» в альфа версии 2.0, её реализация может поменяться сто раз до выхода stable версии.
0
'NinjAuth\\Controller' — можно не дублировать бекслеши
0
это вопрос?
0
да работает и без дублирования, надо уточнить этот момент у разработчиков, возможно у них были какие то на то причины
0
Причина только в том, что двойные слэши ведут себя одинаково и в одинарных и в двойных кавычках
0
Это понятно, просто даже при двойных кавычках один бекслеш в такой строке
"NinjAuth\Controller"
будет вести себя также как и при двойном. Задал вопрос на форуме) Интересно же. Но я думаю причиной двойных бекслешей является желание сделать «понадежнее».0
Вот ответ от Harro Verton:
In PHP strings, the backslash is an escape character, so you need to use two backslashes of you want to use a backslash in your string.
Now officially you only have to do this with strings in double quotes, and not for strings in single quotes.
However, it is our coding convention to do it everywhere to avoid confusion and mistakes.
In PHP strings, the backslash is an escape character, so you need to use two backslashes of you want to use a backslash in your string.
Now officially you only have to do this with strings in double quotes, and not for strings in single quotes.
However, it is our coding convention to do it everywhere to avoid confusion and mistakes.
0
А что насчет зависимостей в FuelPHP? Все через синглетоны и стат. методы?
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Пакеты(packages) в Fuelphp