Autocomplete для моделей в CakePHP

"Магия" CakePHP, которая позволяет делать программы с минимальным количеством кода, имеет свои недостатки. Например, в контроллере редакторы не понимают, что есть модели и какого они типа. А autocomplete - это чудесная штука, без которой постоянно надо лезть в API.

Наконец меня это достало и я полез в документацию Zend, чтобы научить его понимать философию Cake. Оказывается, там можно написать /* @var $myVar Test */, чтобы редактор понял, что $myVar имеет является объектом класса Test. На CakePHP-форуме предложили такой вариант:

PHP:
  1. /* @var MyModel MyModel */
  2. $MyModel=$this->MyModel;
  3. $MyModel->...

Это работает, конечно, но писать в каждом action такую конструкцию и вводить новую переменную как-то не очень хочется. Я для себя придумал такое решение:

zend_autocomplete
То есть вручную объявляется переменная с названием модели и ей с помощью комментариев указывается тип.

Комментировать код бывает очень полезно :) .


Понравилось?

  1. Подпишись через RSS
  2. Расскажи о http://php.southpark.com.ua друзьям.
    Все способы хороши: ICQ, E-mail, свой блог, комментарий в чужом блоге или сообщение на форуме
  3. Добавь статью на news2.ru, Хабрахабр или в закладки

Огромное спасибо!

И не стесняйтесь комментировать - у меня стоит плагин, который убирает rel="nofollow" у людей, которые написали больше 5 комментариев.

RSS feed | Trackback URI

3 комментария »

2007-11-02 12:42:55

PHPDoc очень удобная система, при минимуме комментариев можно разобраться в коде двухлетней давности.
Когда не ломает, всегда описываю функции и классы через PHPDoc

 
Comment by VolCh
2007-11-02 13:33:19

Намного красивее моего варианта :) Спасибо

 
Comment by Саша Subscribed to comments via email
2008-01-15 13:47:31

Подскажите пожалуйста, как именно (где) в зенд студии подключить сам файл ..api.chm

 
Имя (required)
E-mail (required - never shown publicly)
URL
Текст комментария
You may use <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> in your comment.