Немного о прелестях NetBeans + php
Я, как человек, связанный университетом с Java, следил за развитием NetBeans практически с момента его становления изначально меня принудил ей пользоваться мне показал эту IDE мой учитель — Вадим Монахов (с гордостью обнаружил, что ссылка на него ведет с wikipedia, раздел литература). Сейчас часто сталкиваюсь с тем, что программисты PHP пишут говнокод ссылаясь на недоразвитость IDE не умеют делать Refactoring и многих из них останавливает отсутствие автоматизированных средств. Собственно, я решил отобрать у них этот аргумент: средства есть и сегодня я рассмотрю NetBeans как среду разработки для PHP и продемонстрирую заложенную в нее мощь.
С вашего позволения пару ссылочек:
официальная страничка для скачки: http://netbeans.org/downloads/index.html
девелоперская версия: http://bertram.netbeans.org/hudson/job/PHP-build/lastStableBuild/
многое из того что я скажу стало доступно в последнем релизе.
Как обычно остаются кривые имена методов, в коде? человек пишет, потом использует, потом меняет, потом уточняет контекст использования и вот он уже готов бы и переименовать, но есть проблема — слишком много изменений в коде. Можно конечно сделать автозамену по файлам, но нужно проверять контекст и гарантировать что нет ошибок. Что нам может предложить NetBeans?
собственно рассмотрим на примере (взято тут):
мы просто ставим курсор в нужное место и жмем CTRL+R (нужно сказать, что это и есть прием переименования, который должен быть доступен во вкладке Refactoring -> Rename), после чего безопасно переименуем все места вызова данного метода во всем проекте, упоминания в документации (если она корректно оформлена через JavaDoc style).
примечание: Если его выбрать в стабильной версии 6.9.1 стандартным способом через меню или через контекстное меню правой кнопки мыши, то вы увидите сообщение «The Rename refactoring cannot be applied in this context» — это баг и он исправлен в девелоперской версии.
Аналогично можно переименовать и название класса во всем проекте:
примечание: очевидно вызовы из разряда $o = new $className(); не могут быть обработаны, но о том что таковые нужно минимизировать, думаю лишний раз говорить не стоит. Как минимум их всегда можно подписать комментарием see RealClassName
после чего вам предстанет инструмент контроля переименования:
где нужно отметить галочками цели + вы сможете посмотреть изменения прямо в коде:
Так же в IDE встроены мощные средства поиска, при помощи которых вы можете найти все использования данного кода (Alt+ F7 или в контекстном меню по правому клику мышки):
Вы можете так же легко найти и все наследования/переопределения сущности во всем проекте:
Обращаю ваше внимание, что эти функции экспериментальные и будут введены в основной проект через некоторое время (обычно месяц-полтора).
хочу еще немного описать преимуществ данной IDE — уж больно она мне нравится.
IDE позволяет работать как с системами контроля версий (svn, cvs, mercurial, git), так может и сама вести локальную историю:
Если вы пишите как курица лапой и совершенно не можете заставить себя писать по codeStyle то IDE поможет вам — одно нажатие Alt+Shift+F (Source-> Format) и у вас отформатированный код. Кстати CodeStyle настраивается!
Система поддерживает синтаксис Smarty (ну и как дублирующий синтаксис Quicky).
для тех кто ленится писать Getterы и Setterы есть специальный инструмент (откажитесь от хаков):
ALT + Insert (Source-> Insert Code) внутри класса
В системе много еще достоинств, и она быстро развивается, признаться до версии 6.2 это было уг, но нынче одна из лучших IDE, вполне достойная замена ZEND и Eclipse, имеет множество преимуществ. Опасения что со сменой хозяина судьба IDE станет под вопросом развеиваются — разработчики активно работают и радуют меня скоростью внесения улучшений. Вообще хотел бы ребятам из SUN сказать большое спасибо за это наследие, все таки чертовски круто что у Java есть родная IDE бесплатная, за которой стоит такая мощная сила как создатели языка, ну и особенно приятен их интерес к PHP. Кстати, PHP 5.3 avalible -)
Эта заметка обращена скорее к тем кто интересуется возможностями, ищет себе IDE и вообще хочет сделать свою жизнь лучше. Нет цели сделать объемный обзор — это долго и сложно, и я пока не могу себе позволить, но надеюсь эта заметка прольет свет на сей ценный инструмент, особенно в контексте такого популярного языка как PHP и позволит программистам писать еще более качественный код, тратя все меньше усилий. Спасибо за внимание.
Imenem Я бы еще добавил в статью поиск в проектах (ctrl+shift+F) c возможностью поиска как по всем проектам, так и по отдельной выбранной папке, с поддержкой регулярок, что позволяет найти все
bald2b
Отключение авто индексации (для огромных проектов) «Tools — Options — Misc — Files — Enable autoscanning of sources»?
Getting Started with PHP Applications
This document provides general guidelines for preparing the environment for PHP development, setting up a PHP project, and developing and running your first PHP application in the NetBeans IDE for PHP.
Requirements
To follow this tutorial, you need the following software and resources.
You can install the PHP engine, web server and database separately or use AMP (Apache, MySQL, PHP) packages.
Installation and Configuration
The following documents contain instructions for one or two ways to set up a PHP web stack on your operating system. These instructions are not definitive. The web stack consists of third-party software, your environment may differ, and you might prefer a different AMP package or another way to set up PHP. You might need to supplement our instructions with your own investigations.
Setting up a PHP Project in the NetBeans IDE for PHP
For help in installing and starting NetBeans IDE, please see the installation documentation.
To start PHP development in the NetBeans IDE for PHP, you first need to create a project. A project contains the information on the location of the project files and the way you want to run and debug your application (run configuration).
- Start the IDE, switch to the Projects window, and choose File > New Project. The Choose Project panel opens.
- In the Categories list, choose PHP.
- In the Projects area, choose PHP Application and click Next. The New PHP Project > Name and Location panel opens.
Figure 1. Name and Location panel of New PHP Project wizard, with Source Folder location as XAmpp document root.
- In the Project Name text field, enter NewPHPProject .
- In the Sources Folder field, browse for your PHP document root and create a subfolder there called NewPHPProject . The document root is the folder where the web server looks for files to open in the browser. The document root is specified in the web server configuration file. For example, on Xampp, the document root is XAMPP_HOME/htdocs.
- Leave all other fields with their default values. Click Next. The Run Configuration window opens.
- In the Run As drop-down list, select Local Web Site. The project will run on your local Apache server. Your other options are to run the project remotely via FTP and to run it from the command line.
- Leave the Project URL at default.
- Click Finish. The IDE creates the project.
Running Your First PHP Project
- Start the IDE, choose File > Open Project. The Open Project dialog box opens.
- Select NewPHPProject and click Open Project. The NewPHPProject tree appears in the Projects window and the project’s index.php file opens in the editor and in the Navigator window.
echo "Hello, world! This is my first PHP project!";
- To run the project, position the cursor on the NewPHPProject node and choose Run from the context menu. The figure below shows what you should see in the browser window:
Congratulations! Your program works!
Using Database Servers with NetBeans IDE for PHP
You can use various database servers with the NetBeans IDE for PHP, although the most popular is the MySQL server. Downloads are available here.