Показать страницуИстория страницыСсылки сюдаCopy this pageExport to MarkdownODT преобразованиеНаверх Вы загрузили старую версию документа! Сохранив её, вы создадите новую текущую версию с этим содержимым. Медиафайлы{{tag>php phpstorm ide debug php}} ====== PhpStorm IDE for PHP ====== ===== Отладка / Debug ===== * [[php:xdebug|]] ===== Автогенерация кода ===== Существует куча рутинных задач, которые иногда выполняются самим фреймворком, а иногда требуют тупой ручной работы. PHPStorm помогает упростить некоторые [CTRL]+N, например: ==== Создание геттеров и сеттеров (Getters & Setters) ==== По существующим переменным класса можно сгенерировать набор геттеров и\или сеттеров, причем в появляющемся окне можно выбрать для каких именно. ==== Создание PHPDoc ==== По сути действие аналогично тому, как если перед существующим методом начать писать <code php>/**</code> и нажать Enter. Можно выбрать одну или несколько функций и на основании атрибутов и содержимого будет сформирован Doc Block. Переназначение и реализация при наследовании (Override & Implementation) При создании класса потомка или реализации абстрактных методов, чтобы не допустить ошибку, обычно приходится лезть в класс предок и запоминать или копипастить название и атрибуты метода. Или проверять для всех ли абстрактных методов есть реализация и вспоминать что же там требуется для ArrayAccess. Есть вариант получше: * [CMD] + I – Имплементация * [CMD] + O – Переназначение После нажатия хоткея появляется окно где можно выбрать какие именно методы будем реализовывать. После выбора генерится соответствующий метод с соблюдением приватности и имена атрибутов, например так: public function createTable($drop = false) <code php> { return parent::createTable($drop); } </code> ===== Автоформатирование кода ===== Когда пишешь код сам, обычно форматирование получается само, но в ситуации, когда нужно поменять Code Style или пытаешься открыть чужой непривычно оформленный код, возникают проблемы. Можно смириться, а можно нажать [CMD] + [ALT] + L и IDE отформатирует код в соответствии с настройками (Preferences -> Project Settings -> Code Style -> PHP) ===== Подсказки (Code Completition) ===== Для функций нужно писать PHPDoc с параметром @ return. Например: <code php> /** @return SomeClass */ function a() {[…]} </code> Для переменных также можно указать комментарий: <code php> /** @var $my_var SomeClass */ </code> Тогда ниже для $my_var будет доступны подсказки Для методов над классом можно указать PHPDoc <code php> /** @method B foo() Описание метода */ class B extends A {[…]} </code> Если функция возвращает массив объектов <code php> /** @return SomeObject[] */ </code> ===== Консоль ===== Многие фреймворки используют консоль для быстрого выполнения частых действий. Для Symfony, Zend и других популярных фреймворков PHPStorm поддерживает подсказки и автодополнение консольных команд в Command Line Tools Console [CMD] + [SHIFT] + X ===== Разновидности поиска ===== ==== [CMD] + N – Find by Class Name ==== Поиск по имени класса. Удобно в больших проектах, когда всё зарыто вглубь директорий или просто неизвестно где находится. Убойности добавляет «умный поиск», т.к. ищется как по части названия класса, так и по первым буквам, например SomeVeryLongClass будет найден по «SVLC». Учитывает регистр букв, будьте внимательны. UPD: «Умный поиск» разработчики называют Camel's Hump. Кстати в настройках можно сделать чтобы выделение слов, а также перемещение осуществлялось не целиком (до пробела), а именно по по словам (до заглавной буквы). Спасибо, yujin1st ==== [CMD] + [SHIFT] + N – Find by File Name ==== Поиск по имени файла. Аналогично поиску по имени класса использует «умный поиск». UPD: Для нахождения файла по вложенности можно использовать слеш: some/deep/dir/with/file.txt найдется по «s/d/d/w/f», спасибо develop7 ==== [CMD] + [SHIFT] + [ALT] + N – Find Symbol ==== Поиск любой функции/метода и констант, очень удобно, когда точно помнишь имя метода, а класс нет. Спасибо conf ==== [ALT] + [F7] – Find Usages ==== В момент когда курсор находится на имени класса или метода нажатие хоткея позволяет найти все использования в проекте или определенной части (Scope). Есть вариант [CTRL] + [ALT] + [F7] — тот же поиск по использованиям, но в виде контекстного меню. Спасибо iPavel ==== [CTRL] + [SHIFT] + F – Find in Path ==== Поиск произвольной фразы по файлам проекта. При рефакторинге обычно хорошо дополняет Find Usages. Не стоило бы писать о “просто поиске”, если бы не возможность ограничить директорию в котором будут искаться нужные штуки, или настроить Scope. Scope позволяет гибко настроить и сохранить область поиска, для использования в дальнейшем. Можно выкинуть из поиска, например, файлы фреймворка или сторонние либы. ===== phpstorm license key ===== <hidden>http://www.rover12421.com/2015/04/07/jetbrains-product-patch-or-keygen.html</hidden> ==== Ключи активации phpstorm Ver 8 - 9 (Windows / Linux / MacOs) ==== <hidden ключи><code> User Name:Learn Programming ===== LICENSE BEGIN ===== 63758-12042010 00000Ryqh0NCC73lpRm!XVcxFChJ2g TUR2lZtlLXrPLbQ66Gs8MHs51RvF2y agoDlzne08Zm8VXbts1UMKE!EW4v8G ===== LICENSE END ===== </code> <code> User Name:Mr. Enrew ===== LICENSE BEGIN ===== 9167-D38728T 000020QwaYAMfRP"lg"iY7ZOCtQ7Hw Ety0BucaeyLzwzka899PsSMGiHkTYI hUZlpca1ffezR0DyzFpdOki7jbVm8U ===== LICENSE END ===== </code> <code> User Name:Dr. Alban ===== LICENSE BEGIN ===== 2604-D71052T 00001ikR7KznanEGNuWRag20JBc!fy HVl4Rv8nyMgpBnoKcRfq0x!vXkBMH4 qGcM1PCMSv2QHhXXEeVZSTFhkZ4xb5 ===== LICENSE END ===== </code> <code> Product : PhpStorm UserName : Mr. Endigo ===== LICENSE BEGIN ===== 6401-D92210T 00001GlhmP0"p5a60X9!rZ4zBUB8Cl UdFJuehu2PdaOh!CjXPrpBW6AfZzAW ILtUpsRXUESs"HBcQNy!qofCzLSEix ===== LICENSE END ===== </code> <code> Product : PhpStorm UserName : Entony Clichkovsky ===== LICENSE BEGIN ===== 8786-D23014T 00000zOS!U7K2P2nOUHZtUJPuopXDt p55feQcokDPS31lsZ5vqqOVmCCl9Cx WxVS!fALdMvW0LQ32YJImTyq!pWjS! ===== LICENSE END ===== </code> <code> Product : PhpStorm UserName : Roberto Almano ===== LICENSE BEGIN ===== 8659-D34829T 00000ILT!byBeyH4Yvcykp"O2MwLGg ZoUJbIVuwszN5yUoXBGbw5SUzpKUzn UBXRi8m4IBzZmfX4EcCKNu8g4UxcdM ===== LICENSE END ===== </code> </hidden> ==== Ключи активации phpstorm Ver 10 - 11 (Windows / Linux / MacOs) ==== <hidden phpstorm Ver 10 - 11> * Откройте активационное окно Select Help -> Register… * Выберите пункт **server license** * Вставте в поле ввода http://idea.lanyus.com/ * Наслаждайтесь </hidden> ==== 2016.1 ==== <hidden 2016.1> * Откройте активационное окно Select Help -> Register… * Выберите пункт **server license** * Вставте в поле ввода http://idea.qinxi1992.cn * Наслаждайтесь Сервер лицензий и блог его содателя: http://blog.lanyus.com/6.html </hidden> ==== 2016.2 ==== <hidden 2016.2> * Откройте активационное окно Select Help -> Register… * Выберите пункт **server license** * Вставте в поле ввода http://114.215.133.70:41017 * Наслаждайтесь </hidden> ==== 2016.2.1 ==== <hidden 2016.2.1> * Откройте активационное окно Select Help -> Register… * Выберите пункт **Activation code** * Вставте в поле ввода ниже следующий код **License is valid till Feb 25, 2017** <code> 43B4A73YYJ-eyJsaWNlbnNlSWQiOiI0M0I0QTczWVlKIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiIiwiYXNzaWduZWVFbWFpbCI6IiIsImxpY2Vuc2VSZXN0cmljdGlvbiI6IkZvciBlZHVjYXRpb25hbCB1c2Ugb25seSIsImNoZWNrQ29uY3VycmVudFVzZSI6ZmFsc2UsInByb2R1Y3RzIjpbeyJjb2RlIjoiSUkiLCJwYWlkVXBUbyI6IjIwMTctMDItMjUifSx7ImNvZGUiOiJBQyIsInBhaWRVcFRvIjoiMjAxNy0wMi0yNSJ9LHsiY29kZSI6IkRQTiIsInBhaWRVcFRvIjoiMjAxNy0wMi0yNSJ9LHsiY29kZSI6IlBTIiwicGFpZFVwVG8iOiIyMDE3LTAyLTI1In0seyJjb2RlIjoiRE0iLCJwYWlkVXBUbyI6IjIwMTctMDItMjUifSx7ImNvZGUiOiJDTCIsInBhaWRVcFRvIjoiMjAxNy0wMi0yNSJ9LHsiY29kZSI6IlJTMCIsInBhaWRVcFRvIjoiMjAxNy0wMi0yNSJ9LHsiY29kZSI6IlJDIiwicGFpZFVwVG8iOiIyMDE3LTAyLTI1In0seyJjb2RlIjoiUEMiLCJwYWlkVXBUbyI6IjIwMTctMDItMjUifSx7ImNvZGUiOiJSTSIsInBhaWRVcFRvIjoiMjAxNy0wMi0yNSJ9LHsiY29kZSI6IldTIiwicGFpZFVwVG8iOiIyMDE3LTAyLTI1In0seyJjb2RlIjoiREIiLCJwYWlkVXBUbyI6IjIwMTctMDItMjUifSx7ImNvZGUiOiJEQyIsInBhaWRVcFRvIjoiMjAxNy0wMi0yNSJ9XSwiaGFzaCI6IjMzOTgyOTkvMCIsImdyYWNlUGVyaW9kRGF5cyI6MCwiYXV0b1Byb2xvbmdhdGVkIjpmYWxzZSwiaXNBdXRvUHJvbG9uZ2F0ZWQiOmZhbHNlfQ==-keaxIkRgXPKE4BR/ZTs7s7UkP92LBxRe57HvWamu1EHVXTcV1B4f/KNQIrpOpN6dgpjig5eMVMPmo7yMPl+bmwQ8pTZaCGFuLqCHD1ngo6ywHKIQy0nR249sAUVaCl2wGJwaO4JeOh1opUx8chzSBVRZBMz0/MGyygi7duYAff9JQqfH3p/BhDTNM8eKl6z5tnneZ8ZG5bG1XvqFTqWk4FhGsEWdK7B+He44hPjBxKQl2gmZAodb6g9YxfTHhVRKQY5hQ7KPXNvh3ikerHkoaL5apgsVBZJOTDE2KdYTnGLmqxghFx6L0ofqKI6hMr48ergMyflDk6wLNGWJvYHLWw==-MIIEPjCCAiagAwIBAgIBBTANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBMB4XDTE1MTEwMjA4MjE0OFoXDTE4MTEwMTA4MjE0OFowETEPMA0GA1UEAwwGcHJvZDN5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxcQkq+zdxlR2mmRYBPzGbUNdMN6OaXiXzxIWtMEkrJMO/5oUfQJbLLuMSMK0QHFmaI37WShyxZcfRCidwXjot4zmNBKnlyHodDij/78TmVqFl8nOeD5+07B8VEaIu7c3E1N+e1doC6wht4I4+IEmtsPAdoaj5WCQVQbrI8KeT8M9VcBIWX7fD0fhexfg3ZRt0xqwMcXGNp3DdJHiO0rCdU+Itv7EmtnSVq9jBG1usMSFvMowR25mju2JcPFp1+I4ZI+FqgR8gyG8oiNDyNEoAbsR3lOpI7grUYSvkB/xVy/VoklPCK2h0f0GJxFjnye8NT1PAywoyl7RmiAVRE/EKwIDAQABo4GZMIGWMAkGA1UdEwQCMAAwHQYDVR0OBBYEFGEpG9oZGcfLMGNBkY7SgHiMGgTcMEgGA1UdIwRBMD+AFKOetkhnQhI2Qb1t4Lm0oFKLl/GzoRykGjAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBggkA0myxg7KDeeEwEwYDVR0lBAwwCgYIKwYBBQUHAwEwCwYDVR0PBAQDAgWgMA0GCSqGSIb3DQEBCwUAA4ICAQC9WZuYgQedSuOc5TOUSrRigMw4/+wuC5EtZBfvdl4HT/8vzMW/oUlIP4YCvA0XKyBaCJ2iX+ZCDKoPfiYXiaSiH+HxAPV6J79vvouxKrWg2XV6ShFtPLP+0gPdGq3x9R3+kJbmAm8w+FOdlWqAfJrLvpzMGNeDU14YGXiZ9bVzmIQbwrBA+c/F4tlK/DV07dsNExihqFoibnqDiVNTGombaU2dDup2gwKdL81ua8EIcGNExHe82kjF4zwfadHk3bQVvbfdAwxcDy4xBjs3L4raPLU3yenSzr/OEur1+jfOxnQSmEcMXKXgrAQ9U55gwjcOFKrgOxEdek/Sk1VfOjvS+nuM4eyEruFMfaZHzoQiuw4IqgGc45ohFH0UUyjYcuFxxDSU9lMCv8qdHKm+wnPRb0l9l5vXsCBDuhAGYD6ss+Ga+aDY6f/qXZuUCEUOH3QUNbbCUlviSz6+GiRnt1kA9N2Qachl+2yBfaqUqr8h7Z2gsx5LcIf5kYNsqJ0GavXTVyWh7PYiKX4bs354ZQLUwwa/cG++2+wNWP+HtBhVxMRNTdVhSm38AknZlD+PTAsWGu9GyLmhti2EnVwGybSD2Dxmhxk3IPCkhKAK+pl0eWYGZWG3tJ9mZ7SowcXLWDFAk0lRJnKGFMTggrWjV8GYpw5bq23VmIqqDLgkNzuoog== </code> * Наслаждайтесь </hidden> ==== 2016.3 ==== <hidden 2016.3> * Откройте активационное окно Select Help -> Register… * Выберите пункт **server license** * Вставте в поле ввода http://114.215.133.70:41017 * Наслаждайтесь </hidden> ==== 2016.3.2 ==== <hidden 2016.3.2> {{https://monosnap.com/file/4XQkiV8GWijTNF9HVPaDuPIUMi2pLn.png?400 |}} * {{ :develope:jetbrainscrack.jar.zip |}} password: mirocow * Распаковываем в папку с вашим IDE /Applications/ВАШ IDE/Contents/bin * и добавляем в автозапуск сервер лицензий **-javaagent:JetbrainsCrack.jar** * запускаем нашу любимую IDE * Подходит для всего семейства IDE от JetBrains (IntelliJ IDEA, PhpStorm, PyCharm, RubyMine, WebStorm) <code> ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Jetbrains IDE Crack by Rover12421 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ Unzip and copy JetbrainsCrack.jar to /Applications/IntelliJ IDEA.app/Contents/bin/JetbrainsCrack.jar Open /Applications/IntelliJ IDEA.app/Contents/bin/idea.vmoptions OR /Applications/PhpStorm.app/Contents/bin OR /Applications/PyCharm.app/Contents/bin OR /Applications/RubyMine.app/Contents/bin OR Applications/WebStorm.app/Contents/bin Append this line to the end of the file: "-javaagent:JetbrainsCrack.jar" and save. Example of idea.vmoptions after editing: ———— -Xms128m -Xmx750m -XX:MaxPermSize=350m -XX:ReservedCodeCacheSize=240m -XX:+UseCompressedOops -javaagent:JetbrainsCrack.jar ————</code> </hidden> СохранитьПросмотрРазличияОтменить Сводка изменений Примечание: редактируя эту страницу, вы соглашаетесь на использование своего вклада на условиях следующей лицензии: CC0 1.0 Universal