TIP: Use Markdown or, <pre> for multi line code blocks / <code> for inline code.
These forums are read-only and for archival purposes only!
Please join our new forums at discourse.kohanaframework.org
Namespace, PSR-0 - нет в документации, нужны примеры.
  • seyfer пишет: Я ни где не могу найти примеры использования namespace в 3.3.

    Не будет трудно описать?

    7 января 2013, 14:02 seyfer пишет: Напоминаю о своей просьбе о namespace. Не могу разобраться как применить их в classes и использовать потом в контроллерах.

    …А если никак, то в чем отличие от 3.2 ?..

  • В общем я так и думал. 3.3 не далеко ушла от 3.2. Поменяли наименования на заглавную. Ввели типа неймспейсовую поддержку, от которой нет толка, не понятно как пользоваться. Неймспейсов даже в самой кохане ни где нет.

    В итоге пишу как на 3.2 только с большой буквы.

    Судя по текущему состоянию dev 3.4 там начали появляться неймспейсы в ядре. Вау.

    Я огорчен.

  • Когда выйдет 3.4, все вокруг будут жаловаться, что теперь хрен просто так обновишься из-за этих долбаных неймспейсов...

    PS. Можешь сформулировать, чего ты вообще ждал от неймспейсов и PSR-0? Чем тебя все это огорчает?

  • Так ведь можно без проблем использовать неймспейсы в своем коде. Просто добавляешь в своих скриптах например use Session; или просто обращаешься \Session:: Ядро - в глобальном неймспейсе, все остальное как угодно. Очень удобно становится организовывать код.

  • @artad, свой код все равно лежит в application/classes, если он пишется с фреймворком. Правила наименования в классах, увы, для загрузчика остались такие же.

    Как сюда прикрутить неймспейсы так, чтобы я иcпользовал любые наименования (или хотя бы кохановские правила) и мог использовать код в контроллерах Коханы? У меня так и не получилось. Покажите пример, если знаете как. Писать свой код в vendor я не хочу. :)

    @biakaveron, лучше бы сразу 3.4. выпускали. Так хоть была бы нормальная поддержка того, что так и не сделано нормально в 3.3. Вообще не понимаю зачем 3.3 была выпущена. Я хочу использовать неймспейсы. По работе пришлось работать с 3.2 долго, и вот новый проект. Думаю - ура,3.3, неймспейсы. Разогнался...

    Хочется перейти на Zend.

  • @seyfer Я уже отвечал на коммент в своем блоге. Проблемы есть только при работе с контроллерами и моделями, это в принципе логично (у них стандартный префикс, из-за которого namespace-классы не вписываются в PSR-0). При этом простые классы использовать легко и просто.

  • @seyfer нет, если подключен автозагрузчик по неймспейсам то можно именовать классы уже свободней. то есть конечно неймспейс завязан на структуру папок, но имена становятся проще и понятней.

    Вместо стандартного именования Presentation_Input_InputValidation (масло масленное) получаем

    namespace Presentation\Input;
    use Validation;
    
    abstract class InputValidation extends Validation {
    

    в контроллере не прописываем неймспейс, он остается глобальным. А пишем

    use Presentation\Input\InputValidation;

    и используем в коде уже

    new InputValidation() 

    не таская за собой префиксы. PROFIT.

  • @artad, дада, а еще лучше все писать в отдельных модулях, подключать их в composer и грузить в vendor. А фреймворк получается только для контроллеров. И смысл?

  • @seyfer Для меня сейчас фреймворк это в первую очередь организация кода и базовые классы реализующие запрос/ответ, роутинг, контроллер, классы валидации, вьюхи, DBAL... в общем все что не касается модели по большому счету. Модели в терминах DDD. Ну и плюс у меня свои классы между контроллером и вьхой, и вобще у меня в контроллерах логики нет, там есть только вызов отдельного класса для запрошенного action (привет Yii). Люблю Kohana но все больше чувствую что пора идти в сторону Symfony, там все такое модульное и компонентное и DI.

  • @artad, я сейчас на ZF2 и Laravel пишу.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

In this Discussion