1

Тема: phpStorm поддержка Symfony

Доброго времени суток,

наверное многие из нас уже слышали о выходе нового иде для пхп - phpStorm. Знаю, что многие используют Netbeans и очень довольны, однако и у phpStorm есть чем похвастаться. В подробности вдаваться не буду, на хабре уже эта тема обсуждалась. Хочу лишь попросить проголосовать за включение поддержки symfony в этот замечательный иде.

Проголосовать можно тут: http://youtrack.jetbrains.net/issue/WI- … ry=symfony
Скачать иде можно тут: http://www.jetbrains.com/phpstorm/

Заранее всем спасибо.

2 Отредактировано relo_san (2010-06-22 14:29:54)

Re: phpStorm поддержка Symfony

*оффтоп* Многие используют Eclipse, по причине определенных проблем с Netbeans default/smile
Лично мне он не понравился, когда я смотрел его около года назад, возможно частично потому, что я привык к интерфейсу и функциональности эклипсы, и переучиваться лень. Отчасти - потому что на больших проектах с тысячами файлов Netbeans прилично уступает (уступал год назад, сейчас не знаю) в производительности эклипсе, хотя последняя тоже далеко не самый шустрый иде, особенно когда у тебя висит десяток открытых проектов среднего уровня.
Работа с системами версионного контроля меня тоже в нетбинсах как-то не убедила. В общем - сыроват он еще.

phpStorm пока в глаза не видел. Посмотрю на досуге. Если понравится - почему бы и не проголосовать default/smile

P.S. Мне вот интересно стало, а в чем вообще заключается поддержка фреймворка в IDE? default/smile Что конкретно это даст в случае с Symfony? У меня вот в эклипсе нет никакой поддержки Symfony. Просто подключил папку с фреймворком как внешнюю библиотеку - и все. Может я чем-то себя обделяю, теряю какой-то полезный функционал, который можно получить только если есть поддержка фреймворка? default/smile

3

Re: phpStorm поддержка Symfony

За последний год NetbeansPHP смог убедить многих в своем превосходстве над EclipsePHP. Поддержка SVN в Netbeans очень даже неплохая. Ну и конечно же поддержка Symfony: правильное автодополнение как в экшенах, так и в темплейтах, консольные команды, быстрое перемещение между экшеном и его темплейтом. Я сам сейчас использую Netbeans и о "сырости" говорить не могу, все работает довольно стабильно и в любом случае быстрее чем Eclipse (мое субъективное мнение). Есть конечно же и свои минусы, которые заставили меня попробовать phpStorm.

Наилучшая поддержка Symfony, на мой взгляд, сейчас в phpEdit: кроме оговоренного выше, там можно например из роутинга сразу же перейти в модуль к нужному экшену и прочие мелочи, которые делают работу с фреймворком действительно приятной. Только стоит это все более 200 евро. Но тут даже не цена проблема, а то что иде этот работает только на винде.

4

Re: phpStorm поддержка Symfony

я юзаю Netbeans из за поддержки симфонии..
Раньше, пользовался ПхпДизайнером.
попробуем и phpStorm default/smile может вдруг...

5

Re: phpStorm поддержка Symfony

relo_san, вот ответ на твой вопрос

http://youtrack.jetbrains.net/issue/WI- … ry=symfony
Alexander Tereschenkov:

Для того, что бы описать фичи - буду писать на русском.

Вообще мне нравится поддержка RoR в RubyMine, вот и сюда бы что-то похожее, а именно:
1. Создание проекта типа symfony (структура папок и прочее)
2. связанно с п1 - поддержка тасок (например symfony doctrine:build-all)
3. Переходы между классами (экшенами), шаблонами, хелперами, тестами с окна редактора (как в RubyMine default/smile )
4. Поддержка Doctrine (не знаю как в плане Propel). Здесь можно поподробнее:

4.1 парсинг схемы, что бы WI знала какие свойства/методы есть в классах доктрины. Например:
schema.yml

Page:
  columns:
    title: { type: string(255), notnull: true }
    content: { type: string(10000) }

после этого Doctrine создаст 2 класса: PageTable (класс таблицы), Page (класс записи) и вот здесь что бы WI понимала:

Doctrine::getTable('Page')->findOneBy{имя поля}();
$page = new Page();
$page->{подсказка имени полей} = ...

Так-же тут можно подсказывать имена таблиц в Doctrine::getTable('...'), подсказки в DQL

как-то так

Я думаю, что если пойдет развитие этого плагина, то многие будут писать что надо добавить/изменить )

Спасибо

Лично я сейчас пробую слезть с Notepad++, так как на больших проектах уже хочется юзать все плюшки, которые дают IDE.
Пробую Jetbrains PHP Storm 2.1, Netbeans 7, Eclipse PDT 2.2.0.
Пока что фаворит - PHP Storm

6

Re: phpStorm поддержка Symfony

пользую Netbeans, устраивает

вообще это из серии: "кто-то носит плавки, а кто-то труселя"

покрутил PHP Storm, проголосую (хотя там и без поддержки бери да пользуйся хоть с symfony, хоть с чем)

7

Re: phpStorm поддержка Symfony

мне Netbeans изначально не понравился тем, что отсутствуют контрастные, но при этом не глазовыдирающие цветовые схемы, поэтому не удалось оценить все сладости этого IDE.
хотя в PHP Storm'e тоже не было норм. схем - пришлось искать в инете

8

Re: phpStorm поддержка Symfony

Почему никто не упомянул об Aptana 3.0? В ней есть теперь нативная поддержка ПХП, или вы про какие-то ключевые слова для Симфони?

9

Re: phpStorm поддержка Symfony

Cfyzz пишет:

Почему никто не упомянул об Aptana 3.0

Значит он не пользуется популярностью среди разработчиков на Симфони. Собственно, Aptana на основе Eclipse. И это пожалуй практически все, что я про нее знаю. Еще знаю, что она как и Eclipse, не поддерживает haml/sass/less, вернее поддержка там заявлена, но я эту поддержку видел - чем такая, лучше вообще никакой. Поставил, поковырял часик (исключительно чтобы посмотреть на работу с haml/sass) - и выкинул.

10

Re: phpStorm поддержка Symfony

я работаю в Codelobster PHP Edition со специальным Yii плагином и полностью всем доволен default/smile

11

Re: phpStorm поддержка Symfony

Так как подключить в phpStorm поддержку symfony?
допустим он не знает что у sfActions есть метод getParameter
или допустим есть форма registrationBuyerForm, и он отсылает на класс sfForm. хотя должен на RegistrationBuyerForm
или допустим Doctrine::getTable('TUser')->createBuyerAccount($requestData);  соответственно должен найти метод createBuyerAccount в lib/model/doctrine/TUserTable.class.php, phpStorm ругается и говорить что такого метода не существует

12

Re: phpStorm поддержка Symfony

Вообще-то Doctrine::getTable('TUser') уже давно не используются, потому что генератор модельки давно уже генерирует статический метод getInstance() в классе таблицы, специально чтобы можно было легко получить ее инстанс, и любой ИДЕ без всякой заточки под Симфони нормально подгрузил все методы.
Лично мне обычного Эклипса с головой хватает, без всякой поддержки фреймворка.

13

Re: phpStorm поддержка Symfony

Settings->Project_Settings->PHP укажи пусть к symfony
это решит проблему с getParameter,
а что бы типы распознавались помогай дерективой @var

PhpStorm editor respects PHPDoc in your code and provides appropriate code completion suggestions based on @property, @method and @var annotations.
http://www.jetbrains.com/phpstorm/features/screenshots/PHPDoc.png

14

Re: phpStorm поддержка Symfony

pentium133 пишет:

Settings->Project_Settings->PHP укажи пусть к symfony
это решит проблему с getParameter,
а что бы типы распознавались помогай дерективой @var

PhpStorm editor respects PHPDoc in your code and provides appropriate code completion suggestions based on @property, @method and @var annotations.

Вообще-то у меня симфони включена в проект.
Да и вообще шторм что то тупить. даже не может найти форму
допустим        $this->form = new EnterForm(); это в actions. И потом он не может связать эту переменную form, пишет что undefined field form
а причем фишка в том что если объявляешь переменную form в классе actions, то переменная form недоступна в View.

15

Re: phpStorm поддержка Symfony

у меня вроде бы в пределах экшина переменные видятся нормально.
а про переменные view шторму и не узнать никогда (хотя опять же /** @var $form EnterForm */ в начале шаблона должно помочь)

16

Re: phpStorm поддержка Symfony

pentium133 пишет:

у меня вроде бы в пределах экшина переменные видятся нормально.
а про переменные view шторму и не узнать никогда (хотя опять же /** @var $form EnterForm */ в начале шаблона должно помочь)

Это понятно, это все есть в кратком обзоре PhpStorm'а. Я думал что есть какие то плагины, чтоб все автоматически делалось default/smile

Кстати, не знаете как перейти к файлу EnterForm.class.php. то есть я зажимаю ctrl и нажимаю на EnterForm(). И он меня переносить к конструктору sfForm, а хотелось бы посмотреть описание класса  EnterForm.class.php.

17

Re: phpStorm поддержка Symfony

mishanon пишет:

какие то плагины, чтоб все автоматически делалось

Плохая практика. Шаг в сторону, переопределите что-то в структуре при необходимости - и что тогда делать с этой автоматикой? Через аннотации все гораздо гуманнее, потому что аннотацию вы тоже без проблем поменяете, и генерацию ее в том числе. А как вы будете менять логику, тупо зашитую в плагин IDE?

18

Re: phpStorm поддержка Symfony

relo_san пишет:

переопределите что-то в структуре при необходимости

Зачем что-то менять в symfony?
Я предлагаю чтоб phpStorm понимал где View. Понимал что переменные берутся из action.class.php из соответствующего метода. И много других вещей. И чтоб плагин, можно было настраивать в разумных пределах. Конечно, если Вам потребуются изменить sfForm или sfAction, или изменить какую то логику взаимодействия классов, никакой плагин не поможет. Но это как раз плохая практика. В таком коде сторонний разработчик не разберется. Нужно писать простой и понятный код, и использовать максимум что может дать symfony, без использования "костылей"

19

Re: phpStorm поддержка Symfony

Конечно, я и не исключаю что в некоторых случаях нужно использовать аннотация. Но думаю что таких случаев будет от силы 5 % от всего объема написанного кода. Мне предлагаю писать аннотации для всех стандартных случаев.

20

Re: phpStorm поддержка Symfony

mishanon пишет:

Зачем что-то менять в symfony

Ы? Вы бредите. Симфони - это фреймворк, средство разработки. Это не панацея архитектуры и нигде не сказано, что ее нужно использовать именно в том нетронутом формате, в котором она идет "искаропки". Симфони кагбэ и отличает от других фреймворков ее ГИБКОСТЬ. Очень странно не использовать этот основной плюс в угоду какой-то "совместимости" с IDE.
У меня до половины функционала фреймворка переопределено в той или иной степени в разных проектах. Где-то требования ресурсоемкости, где-то простое желание получить большее удобство.

mishanon пишет:

Конечно, если Вам потребуются изменить sfForm или sfAction, или изменить какую то логику взаимодействия классов, никакой плагин не поможет. Но это как раз плохая практика. В таком коде сторонний разработчик не разберется. Нужно писать простой и понятный код, и использовать максимум что может дать symfony, без использования "костылей"

Что значит изменить? Я просто отнаследовался и добавил/переопределил то, что мне нужно. Это как раз именно хорошая практика. То, что нельзя переопределять по задумке разработчиков - соответствующим образом защищено атрибутами. И не путайте понятия. Использование "костылей" не имеет никакого отношения к кастомизации архитектуры. Попробуйте привести обоснование вашему утверждению.

Работа через аннотации вообще избавляет от необходимости в каком-либо плагине. Будет работать в любом современном IDE. Я использую Eclipse и ни в чем себе не отказываю. И мне не нужна никакая совместимость и заточенность под фреймворк, архитектура которого тоже не стоит на месте и никто не будет за ней гнаться и поддерживать актуальность вашего плагина. И тем более никто не будет реализовывать "И чтоб плагин, можно было настраивать в разумных пределах.". Кому это надо? Кроме Симфони есть еще хуева туча фреймворков, вы предлагаете разработчикам IDE писать плагины под каждый? И это вместо того, чтобы использовать универсальное гибкое средство - аннотации...

21

Re: phpStorm поддержка Symfony

понятное дело RubyMine — заточен под Rybu On Rails, вот там да, интеграция полная, ты из экшина и в модель можешь перейти и обратно вернуться, и во вью, и в тест.
А здесь смненил sf1 на sf2, потом сменил Twig на Smarty и потом вообще на Zend ушёл. И всё приехали?  IDE ничего не понимает? default/smile

22

Re: phpStorm поддержка Symfony

relo_san пишет:

Что значит изменить?

Я это и имел ввиду использовать наследование.

relo_san пишет:

У меня до половины функционала фреймворка переопределено в той или иной степени в разных проектах.

o_0. Незнай, какие Вы там проекты пишете. Но у меня тоже опыт есть. И переопределяли, мы там всего около 2 методов. Для обеспечения производительности использовали чистый php, допустим чтобы сформировать отчет по 1.5 млн юзеров. Насчет "большее удобство", нужно понимать что проект разрабатывается не для себя. Его нужно поддерживать,развивать и т.д. Тем более учитывая что и так не найти нормального symfony программиста. А с Вашими "удобствами", чтоб ввести нового программиста в рабочий проект потребуется еще больше времени.
Хотя все эти вопросы должен решать руководитель и тимлеадре.

Вообщем, мы отошли от темы. Можно подвести итог что PhpStorm не поддерживает symfony!


relo_san пишет:

Кому это надо?

Мне например

relo_san пишет:

Кроме Симфони есть еще хуева туча фреймворков, вы предлагаете разработчикам IDE писать плагины под каждый?

Да, а что надо писать клон IDE с точно такими же функциями как у других IDE? Зачем это нужно? Нужно завоевывать рынок, написать такой плагин и продавать по 29 баксов default/smile, а не создавать очередный говно-клон IDE. И потом плакаться, почему никто не покупает.

23

Re: phpStorm поддержка Symfony

Можно подвести итог что PhpStorm не поддерживает symfony!

Лолшто?! Для верности нужно кому-то еще раз перечитать первый комментарий этой темы. Для особо одаренных там даже ссылки есть, пройдя по которым, можно излить все свои пожелания. Способы облегчить себе работу в текущей версии приведены выше. 

Нужно завоевывать рынок, написать такой плагин и продавать по 29 баксов , а не создавать очередный говно-клон IDE. И потом плакаться, почему никто не покупает.

Если ты про пхпсторм, то я купил и даже не одну лицензию. Никто вроде не плакался на отсутствие желающих купить. Говно-клоном не считаю, на мой взгляд - это один из лучших иде для пхп. Поддержка симфони обещается разработчиками в следующих версиях.

Но у меня тоже опыт есть. И переопределяли, мы там всего около 2 методов.

Просто невероятно, аж целых 2. Завидую, че.

24

Re: phpStorm поддержка Symfony

mishanon пишет:

Но у меня тоже опыт есть. И переопределяли, мы там всего около 2 методов.

Поржал, спасибо. Наверно сайты-визитки пачками печатаете...

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

mishanon пишет:

Нужно завоевывать рынок

Уважаемый - вам все карты в руки. Берите и завоевывайте. Кредит возьмите, компанию организуйте, разработчиков наймите. А то хули его бля никто не завоевывает?.. Пишут понимаешь клоны IDE, а затачивать под Симфони и отслеживать актуальность потом никто не хочет, ага. Ради двух с половиной программистов на Симфони, которые его купят. Тут под haml два года всем лень адекватную поддержку сделать, IDE куча а поддержки нет. Пиздеть - не мешки, да...

25

Re: phpStorm поддержка Symfony

relo_san пишет:

Поржал, спасибо. Наверно сайты-визитки пачками печатаете...

Нет, крупные порталы. Один развлекательный портал, разрабатывали около 6 месяцев, 4 программера. И второй юридический портал, около 3 месяцев, 2 программера.

alex пишет:

Просто невероятно, аж целых 2. Завидую, че.

Завидуйте и дальше default/smile Только 2 метода пришло переопределить чтоб настроить симфони под свои нужды default/smile для крупного портала который разрабатывали 6 месяцев


relo_san пишет:

Уважаемый - вам все карты в руки. Берите и завоевывайте. Кредит возьмите, компанию организуйте, разработчиков наймите.

Проблематично и рискованно, тем более в России.