Страницы

Поиск по вопросам

Показаны сообщения с ярлыком phpstorm. Показать все сообщения
Показаны сообщения с ярлыком phpstorm. Показать все сообщения

воскресенье, 8 марта 2020 г.

WebStorm Git (git repository cannot be cloned to an existing directory)

#git #github #phpstorm


В чем проблема? 



 12:53:22 Created Git repository in /Applications/MAMP/htdocs/workout_test
 12:59:47 Update canceled
 12:59:47 Can't update: no tracked branch
         No tracked branch configured for branch master.
         To make your branch track a remote branch call, for example,
         git branch --set-upstream master origin/master*
    


Ответы

Ответ 1



Думаю вот это должен сработать: git init git remote add origin PATH/TO/REPO git fetch git checkout -t origin/master Информация взята отсюда.

Ответ 2



Вам нужно удалить из Parent Directory в конце пути test_theme_wp, так же если существует эта папка на сервере её то же удалить. Parent Directory - это родительская папка в которой мы будем находиться перед клонированием. Directory Name - это имя папки которая будет создана в родительской категории в которую будет с клонирован текущий репозиторий. Перед клонированием если данная папка существует, то её необходимо удалить иначе шторм будет ругаться на неё.

PHPStorm & Less: как компилировать минимизированный файл с помощью File Watchers?

#phpstorm #less #jetbrains


Каждый раз сталкиваюсь с этим вопросом и с долго ищу ответ англоязычном stackOverflow. 

В PHPStorm нужно компилировать "на лету" минимизированный .css файл из .less. 
File Watcher настроен, файл компилируется исправно, но какой флаг нужно добавить
к аргументам, чтобы получить минимизированный файл?


    


Ответы

Ответ 1



Введение Представленный в этой части код не является ответом! Безуспешно попытавшись найти ответ на свой вопрос (вероятно, плохо искал), я решил поступить так, как следовало сделать с самого начала - заглянуть в help node-модуля less. Выполнив команду, я получил исчерпывающий ответ - -x, --compress Compresses output by removing some whitespaces. Вот оно! - подумал я, добавил флаг --compress в настройках File Watcher и получил... минимизированный файл с предупреждением The compress option has been deprecated. We recommend you use a dedicated css minifier, for instance see less-plugin-clean-css.html Дальше я проследовал на страницу https://github.com/less/less-plugin-clean-css, где нашел итоговую, рабочую инструкцию. Рабочий ответ Требуется установить дополнительно модуль less-plugin-clean-css командой npm install -g less-plugin-clean-css и затем к аргументам Watcher'а добавить --clean-css="--s1 --advanced --compatibility=ie8" в итоге настройки Watcher'a в моем случае выглядели вот так: Файл получаем минимизированный, но с сохраненными комментариями. Описание всех аргументов модуля clean-css можно найти на странице https://github.com/jakubpawlowicz/clean-css. Там я нашел ответ, как при минимизации убрать комментарии: требуется к аргументам для --clean-css добавить флаг --s0 (в моем случае - исправить уже имеющийся флаг --s1) таким образом: --clean-css="--s0 --advanced --compatibility=ie8"

среда, 4 марта 2020 г.

Структура приложения PHP

#php #phpstorm


Здравствуйте. Хотелось бы попросить совета, как правильно организовать структуру
приложения. Я только учусь разработке на PHP. Не судите строго. 

Задание такое, необходимо создать приложение в котором пользователи могут общаться
между собой. Будет личный кабинет пользователя, и будет админка, где админ может видеть
всех пользователей на сайте.

Не могу представить в голове структуру. На данный момент Вижу только такое: 



По папкам:


auth - Страница авторизации;
profile - Страница с личным кабинетом, куда пользователь попадет после авторизации;
templates - header.php,footer.php и остальные файлы, все они будут, как шаблон сайта
core - предположительно ядро, и через эту папку можно будет войти в админку;
lib - другие функции... 


Вот из этого вопрос, как лучше организовать это. 
    


Ответы

Ответ 1



У меня обычно для несложных приложений с нуля структура, позаимствованная из систем пэкиджей Linux и Windows, некоторый микс: В приложении есть модули Каждый модуль хранится в своей папке (это список папок, а не дерево) В этой папке есть подпапки, например, php, css, js, html, tpl Любое обращение, за исключением запросов к файлам (картинкам), производится только к одному скрипту: index.php, в котором настраивается autoload. Чтобы к index.php нельзя было обратиться напрямую, в файле .htaccess с помощью mod_rewrite задается переменная MODULE c соответствующим значением, например, admin или frontend (это названия модулей), которая будет видна в массиве $_SERVER Усли у заданного модуля есть контроллер, хоторый лежит в файле modulename/php/Ctrl.php, то index.php созздает экземпляр этого контроллера и запускает. Довольно удобно для небольших приложений без фреймворка, поскольку сразу понятно, какой файл где искать, в отличие от структур, в которых кучи однотипных файлов разных модулей свалены в одну папку, что требует еще и наличие установщика модулей.

Ответ 2



Смотрите как это организовано в популярных фреймворках. Например: https://github.com/yiisoft/yii2-app-basic https://github.com/yiisoft/yii2-app-advanced https://github.com/zendframework/ZendSkeletonApplication Да тот же 1С-Битрикс установите - посмотрите структуру как делать не стоит или наоборот стоит (тут на вкус и цвет...) ;) А лучше на основе фреймворка и делать проект. Когда над вашим проектом будут работать другие люди - за самописное решение большого спасибо не скажут. Именованием файлов, стайлгайд, автолоадер и т.д. обратите внимание на http://www.php-fig.org/psr/. Если возникнет вопрос: а что изучать? Смотрите и отталкивайтесь от вакансий - что требуется и что чаще, а также вилку ЗП. И не PHP едины - это главное не забывайте.

понедельник, 24 февраля 2020 г.

Webstorm, не работает emmet в jade файлах

#phpstorm #webstorm


Столкнулся с проблемой автодополнения emmet в jade файлах после Sublime Text 3. Например
пишем "!", а получаем:


    html
      head
        meta(charset="UTF-8")
        title Document
        link(rel="stylesheet", href="")
      body


Есть ли способ добиться такого в Webstorm?
(плагин jade у меня стоит)
    


Ответы

Ответ 1



К сожалению, Emmet для Jade шаблонов сейчас не поддерживается. Пожалуйста, проголосуйте за WEB-18099

суббота, 15 февраля 2020 г.

Phpstorm как в файле изменить отступы?

#phpstorm


Смотрите, есть настройки для каждого типа файлов, допустим, html. Я указал там отступы
табуляции 2, чтоб поуже было. 

Но в некоторых файлах остались отступы 4. Т.е. очень широкий код получается, а я
люблю пользоваться автоформатированием.

Вот и как в этих файлах принудительно изменить отступы? на 2. Настройки уже изменены.
Но на некоторые файлы не влияет. 
    


Ответы

Ответ 1



Вам нужно переформатировать код Code|Reformat Code. Более детально в официальной документации

Ответ 2



Ctrl+Alt+S (File→Settings) Editor→Code Style→HTML (название вашего языка) Необходимо изменить Tab size, Ident, Continuation ident — я ставлю все 2. Если пользуетесь пробелами, а не табами необходимо снять галочку Use tab character (я снял). В окне редактирования файла нажать Ctrl+Alt+L (Code→Reformat Code)

Ответ 3



Если всё равно после Ctrl+Alt+L (Code→Reformat Code) ставит пробелы, попробуйте снять галочку с Enable EditorConfig support (File→Settings→Editor→Code Style)

суббота, 8 февраля 2020 г.

Как отредактировать повторяюшийся код в каждом из фаилов

#phpstorm #текст


Проблема в том что мне досталось поддерживать один сайт который отвратительно написан.
Есть порядка 40-50 фаилов где повторяется одну и тоже меню. Надо убрать пару пунктов
и изменить ссылки. Что подскажите? Нет ли специальных утилит в каком -нибудь PhpStorm?
Или же каких то сторонних     


Ответы

Ответ 1



Ctrl + Shift + R — Замена По заданному пути, хоть по всему проекту.

Ответ 2



Ну или найти и заменить. Хоть в файле, хоть по всему проекту)) Ctrl + H, Ctrl + F иногда встречается

Как работать с git через phpshtorm?

#bitbucket #git #phpstorm #php


На локальном компьютере создана папка для проекта, ее можно коммитить на git сервер.
Как настроить phpstorm для работы с этой папкой и коммитов?
Каждый раз я должен получать данные с сервера на локальный комрьютер(последние коммиты),
чтобы продолжить работу?    


Ответы

Ответ 1



Если вы открыли проект, который под гитом, то в PHPStorm-е появятся новые кнопки на тулбаре. При нажатии на синюю стрелку стянутся последние коммиты с удаленного репозитория, при нажатии на зеленую произойдет коммит в локальную ветку (при коммите опционально можно выбрать и push, либо сделать его позже через меню VCS->git->push). Чтобы продолжать работу вам не обязательно каждый раз стягивать обновления (но все же желательно, если вы не работаете над задачей в отдельной ветке уже пару дней, хотя и тут следует договориться с командой о workflow). Обновление #1 Что касается настройки, попробуйте так: Убедитесь, что phpstorm настроен на работу с git локально Если кнопки не появились, то убедитесь, что шторм знает о том, что проект под git-ом Перезапустите IDE Убедитесь, что тулбары видимы Какого-то специального способа добавления папки с git репозиторием в phpstorm - нету. Обычно, при открытии такой папки phpstorm сам все понимает. Т.е. просто File->Open Directory Обновление #2 Допустим, сделал я изменения в каком-то файле и хочу эти изменения отправить на сервер - какие мои действия? Как быть, если другой... Когда ваш phpstorm начнет распознавать git репозитории, то часть ваших вопросов отпадет автоматически. При добавлении нового файла в проект, вам будет задан вопрос: "Добавить ли этот файл в репозиторий?" и будет помечен зеленым цветом. Если вы изменили файл, то он поменяет цвет на голубой. Все файлы, которые находятся за пределами контроля версий будут отмечены красным. Белым отмечаются файлы, равные локальной версии ветки репозитория. Когда вы закончили работу над какой-то задачей, нажмите Ctrl+K (либо на зеленую стрелку), введите комментарий и поменяйте "Commit" на "Commit & Push" - таким образом ваши изменения улетят на сервер и ваш товарищ сможет их стянуть.

Ответ 2



Как можно добавить папку проекта, где git в шторм? Создать как новый проект? На текущий момент времени в PHPStorm из коробки нет поддержки удобного интерфейса по работе с Bitbucket (авторизация по логину и паролю, share). Существует неактуальный плагин под 6-ую версию, а потому, я не уверен в корректности его работы. Как установить из репозитория плагин: File -> Settings -> Plugins -> Browse repositories -> Поиск "Bitbucket" Существует возможность скачать актуальный плагин и установить вручную. Для этого: File -> Settings -> Plugins -> Install plugin from disk Разархивировать не надо. Обновление Создание git-репозитория: VCS -> Import Into Version Control -> Create Git Repository или создание git-репозитория + размещение на Bitbucket (станет доступно после установки плагина): VCS -> Import Into Version Control -> Share project (слева увидите знакомую иконку Bitbucket)

Ответ 3



Вы, конечно, спрашиваете про phpstorm, но если вы работаете над проектом один и у вас нет необходимости в частом слиянии веток разных версий, то удобнее всего пользоваться командной строкой. Чтобы отправить на сервер понадобится всего 2 комманды, собственно commit и push. Не надо бояться командной строки, тем более что на официальной странице git есть более чем подробнее описание всех команд и неплохие обучалки, если вы захотите познакомиться с этой системой плотнее.

понедельник, 3 февраля 2020 г.

PHPStorm вставка <?php ?> тега в html

#phpstorm


Как в PHPStorm6 реализовать вставку в html php тега при вводе: php клавиша
[tab] ? Сейчас выдает .

Нужно:

Получаю:


Ответы

Ответ 1



Выберите пункт меню File -> Settings -> -- IDE Settings -- -> Live Templates -> Add Далее скриншоты из 8-ой версии, но суть абсолютно та же: Заполните данные следующим образом: Abbreviation: php Template Text: Потом определите контекст (HTML): Закройте окно и сохраните изменения. Вот и все. Дополнительно: Live Templates (Snippets) in PhpStorm - PhpStorm Video Tutorial Составлено на основе вопроса на SO: Phpstorm zen coding: insert tag

пятница, 31 января 2020 г.

Как изменить цвет подсветки таких же переменных в PhpStorm ?

#phpstorm #php


Добрый день!
Специально пересмотрел все заданные вопросы про PhpStorm (на сей момент их было 39)
и не нашел ответа на свой вопрос.
Имеется PhpStorm 6-ой версии с Default визуальной цветовой схемой.
Создаю PHP файл и естественно, пишу PHP код.
Предположим, выделяю переменную $a, PhpStorm подсвечивает другие переменные $a, однако
очень тускло. 
Вопрос в следующем: как можно изменить цвет подсветки других таких же переменных ?
(чтобы было ярко и четко подсвечивались)
Копаюсь в Settings -> Editor -> Colors&Fonts -> PHP (все перебрал из списка, однако
подсветку таких же переменных не смог пока найти...
Подскажите пожалуйста что-нибудь по данному поводу.
Заранее спасибо!    


Ответы

Ответ 1



IDE Settings - Editor - Colors & Fonts - General - Identifier under caret

пятница, 24 января 2020 г.

Почему при перезапуске phpStorm (Windows) слетает composer?

#phpstorm #composer


При перезапуске phpStorm и открытии проекта перестает работать composer. Приходится
каждый раз заново открывать Tools/Composer/Init composer и указывать путь к php.exe
и composer.path. Данная проблема наблюдается при открытии лишь некоторых проектов.
Подскажите, в чем может быть проблема? 

phpStorm 10.0.3
    


Ответы

Ответ 1



Для того, чтоб работали настройки композера нужно выполнить следующие 2 простых условия. Нужно чтоб был настроен интерпретатор PHP: Languages & Frameworks/PHP Interpreter (выбрать исполняемый файл PHP php.exe) чуть выше PHP language level должен соответствовать версии выбранного интерпретатора. Собственно, настроить сам композер. Для этого: он должен быть доступен в проекте: либо установлен глобально, либо в папке проекта должен находиться файл composer.phar. Для глобальной настройки убедитесь, что команда composer в консоли выдает список команд. указать путь к используемому файлу composer.phar либо глобально доступному, либо локально установленном в проекте. Возможные проблемы: Файл композера недоступен для вашего проекта. Убедитесь, что в папке вашего проекта доступна команда composer для глобальной настройки или php composer.phar для локальной. В настройках PhpStorm указан НЕ тот файл composer.phar, который доступен в вашем проекте. PhpStorm хранит локальные настройки проекта в папке .idea. Убедитесь, что вы не перезаписываете, не удаляете и не изменяете эту папку для вашего проекта при перезагрузке. Убедитесь так же, что путь к проекту указан правильно и не был изменен при перезагрузке. В конце хочется сказать, что вы очень ограничиваете ответы на ваш вопрос изначально сузив их до той части, которая уже не принесла вам положительного результата. Лучше бы вы спросили, как реализовать именно то, что вам нужно. Например, как установить новый пакет в проект при помощи композера? Возможно, и скорее всего, есть более простые пути решения вашей проблемы, о которых вы просто не знаете.

Ответ 2



Это "особенность" настройки composer через "Tools/Composer/Init composer". Настройте composer в проекте вручную. Откройте настройки "File/Settings" Перейдите в раздел "Languages & Frameworks/PHP" Выберите интерпретатор php Перейдите в раздел "Languages & Frameworks/PHP/Composer" Укажите путь до composer.phar и comopser.json

Не работают горячие клавиши в linux в PhpStorm на русской раскладке

#linux #phpstorm


В PhpStorm 2017.2 и Gogland не работают горячие клавиши при работе на Ubuntu 16.04.3  

Пробовал это решение https://github.com/zheludkovm/LinuxJavaFixes, но оно не работает.
Кажется, что оно работает для версии 2017.1  

Подскажите, как это можно починить?

Заранее благодарю!

UPD:
Вопрос про русскую раскладку. На английской все норм
    


Ответы

Ответ 1



Это, конечно, очень маловероятно, но не забываете ли Вы поменять раскладку на английскую? У меня с русской тоже хоткеи не работают.

Ответ 2



Это известная проблема Java; мы уже решили ее для Mac OSX (пропатчив JDK), но не для Linux:( Пожалуйста, проголосуйте за JRE-215, чтобы получать уведомления об обновлениях

Ответ 3



Поставил новую версию 2017.3, после этого вот этот фикс срабатывает и все норм https://github.com/zheludkovm/LinuxJavaFixes

Как написать свое правило для PhpStorm?

#phpstorm


Нужно как-то научить PhpStorm анализировать мой код и сообщать об описанных мной
проблемах в коде.   

Например:
 Мы создаем транзакцию,

$transaction = beginTransaction();


пишем код, сохраняем, обновляем у удаляем данные...
В конце делаем $transaction->commit(); или $transaction->rollBack();  

Я хочу сделать так, что бы в случае, если в методе есть запуск транзакции, то PhpStrom
должен меня уведомлять о том, что я обязан сделать $transaction->commit(); и $transaction->rollBack();  

Можно ли сделать такое?   

Буду благодарен за любую подсказку в какую сторону копать!
    


Ответы

Ответ 1



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

Как разрабатывать через связку PhpStorm + Docker?

#php #windows #phpstorm #docker


В интернете куча информации о докере по базовым вещам, таких как "как скачать образ",
"как запустить контейнер", но почти ничего нет о том, что дальше с этим делать. Как,
собственно, разрабатывать-то?

К примеру, сделал я pull дистрибутива  linode/lamp, у него в папке /var/www/example.com/public_html/
лежит проект. 
Запускаю: docker run -p 80:80 -t -i linode/lamp /bin/bash, service apache2 start.
Теперь в браузере по адресу http://localhost вижу индексную страницу того проекта. 

Окей. Теперь я хочу редактировать/добавлять/удалять файлы в этом проекте. Делать
это через bash и редактор nano - не совсем здравая идея, очевидно. Поэтому я хочу это
делать в PhpStorm. И тут я уже не понимаю, что делать.
Какой пункт выбирать при создании проекта?


Web server is installed locally, source files are located under its document root.
Web server is installed locally, source files are located elsewhere locally.
Web server is on a remote host, files are accessible via network share or mounted drive.
Web server is on a remote host, files are accessible via FTP/SFTP/FTPS.
Source files are in a local directory, no Web server is yet configured.


Если первый, то где брать файлы, если через FTP/SFTP/FTPS, то как настраивать? Я
не понимаю.

Я знаю, что в PhpStorm можно настроить Deployment - Docker и его конфигурацию. Вот
как у меня выглядит:





Но это дает возможность лишь запускать контейнеры Docker и обращаться к ним, например
через ту же консоль. Может быть нужно использовать это как-то?



В общем я не понимаю. У меня каша в голове уже. Объясните пожалуйста. Хотелось бы
видеть ответ для Windows и Linux (если есть разница, конечно)

P.S. Я использую Docker на Windows - в настройках переключенный на Linux (Switched
to linux)
    


Ответы

Ответ 1



Все манипуляции надо производить через сам docker. 1 Найдите подходящий вам образ для работы с PHP 2 При запуске контейнера примонтируйте папку с вашим проектом в /var/www/ docker run -v /path/to/project/:/var/www -td IMAGE_NAME (Все параметры на ваше усмотрение, можете запускать -it если нужно работать в контейнере) -v: Монтирование volume с хоста в контейнер. -d: Запуск в бэкграду -t: Что бы при запуске он не выключался. IMAGE_NAME: Имя образа Открываете ваш проект который находиться в /path/to/project/ через PhpStorm и можете свободно работать.

четверг, 23 января 2020 г.

Как полностью отключить автозавершение тегов в phpstorm?

#phpstorm #javascript


Подскажите, пожалуйста, не получается полностью отключить автозавершение тегов, даже
при всех отключённых галочках в Settings - Editor - Smart Keys при вводе кода


как от этого избавиться?    


Ответы

Ответ 1



В PhpStorm 9 есть раздел настроек Code completion. В этом разделе вы можете убрать автоматический автокомплит.

Как посмотреть автора строк SVN в PhpSorm

#netbeans #phpstorm


Есть видел в NetBeans такая фича по работе из SVN - показываются прямо в редакторе
автора строк, чтобы увидеть кто что писал в PhpStorm нужно поставить плагин, нажать
историю, нажать на номер конкретного коммита - просмотреть какие изменения вносились
в этом коммите.
Есть ли похожая штука в PhpStorm? (видеть автора строк)
    


Ответы

Ответ 1



Обычно этот режим называется "blame" то есть поиск крайнего за сломаный код :) В Php Storm эта штуковина спрятана под названием "annotate". Правый клац по файлу, Git > Annotate. Слева появится столбик с авторами, датами и комитами. [правка] А, лол, вам SVN нужен. Ну там тоже этот annotate есть. Только не помню где. Нет на чем проверить :)

суббота, 11 января 2020 г.

PHPStorm - автоматический Upload отредактированных файлов на Remote Host

#phpstorm #веб_сервер #jetbrains


В PHPStorm 2017 можно произвести настройки, при которых отредактированные файлы будут
автоматически сохраняться при потере фокуса с PHPStorm.

Также есть возможность редактировать файлы на Remote Host, при этом над каждым редактируемым
файлом есть панель с кнопками "Compare", "Upload", при этом необходимо каждый отредактированный
файл отправлять на Remote Host через нажатие кнопки "Upload".

Можно ли автоматически делать "Upload" отредактированных файлов, при потере фокуса
с PHPStorm?
    


Ответы

Ответ 1



Да, можно. Разрешение на автоматическую загрузку файлов заходишь в верхнем меню - Tools -> Deployment -> Automatic Upload (always) Разрешить загрузку внешних файлов Еще, для удобства, зайди в Tools -> Deployment -> Options.. и галочкой отметь Upload external changes , чтобы при добавлении в папку файлов (не через программу PHPStorm), программа сама находила те файлы и перекидывала бы на сервак. Видео-урок настройки remote host YouTube

четверг, 9 января 2020 г.

Стандарты кодирования WordPress для phpStorm под Windows

#wordpress #phpstorm


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

Сами стандарты описаны в Codex, но подключение их к Code Sniffer в phpStorm вызывает
определённые сложности. Подключение требует установки и настройки нескольких пакетов,
инструкции для которых разбросаны по разным сайтам.

Как выглядит полная последовательность действий по установке стандартов кодирования
WordPress для phpStorm под Windows?
    


Ответы

Ответ 1



Анализаторы кода такие, как PHP Code Sniffer, и стандарты кодирования такие, как WordPress Coding Standards, позволяют создавать современный, легко обновляемый код, избежать множества ошибок еще на стадии написания кода, и совершенно незаменимы при командной работе над проектом. Эти средства встроены в phpStorm — мощную современную среду разработки под php. В то же время, у многих разработчиков возникают сложности при установке анализатора кода PHP Code Sniffer и правил оформления кода WordPress Coding Standards для него в PhpStorm под Windows. Ниже сведены воедино сведения по установке, собранные из разных источников. Процедура подключения стандартов кодирования под Windows выглядит следующим образом. Установка PHP Откройте страницу http://windows.php.net/download/ и выберите 32-х или 64-х битный файл в зависимости от битности архитектуры своей системы. Еще есть варианты TS (Thread Safe) и NTS (Non Thread Safe). TS отличается тем, что позволяет PHP работать в нескольких потоках. Для простых приложений и взаимодействия с веб-сервером вполне подойдёт и NTS. Распакуйте содержимое zip-архива, например, в c:\php. Переименуйте файл c:\php\php.ini-development в c:\php\php.ini. Найдите строку ;On windows: и раскомментируйте после нее extension_dir = "ext" Для работы с WordPress понадобятся несколько расширений. Найдите секцию ; Windows Extensions и раскомментируйте строки extension=php_mbstring.dll extension=php_mysqli.dll Найдите строчку ;date.timezone =, раскомментируйте и задайте вашу временную зону, например: date.timezone = 'Europe/Moscow' Наконец, добавьте строчки для отладчика Xdebug в самый конец. [xdebug] zend_extension=c:/php/ext/php_xdebug-2.5.5-7.1-vc14-x86_64.dll xdebug.remote_autostart=on xdebug.remote_enable=on xdebug.remote_handler="dbgp" xdebug.remote_host="localhost" xdebug.remote_port=9001 xdebug.remote_mode=req xdebug.idekey="ваш_пароль" Сам отладчик в виде dll-файла надо скачать отсюда: https://xdebug.org/download.php и поместить в c:\php\ext. При скачивании выбрать ту же версию и разрядность PHP, что были выбраны при установке PHP. Установка PEAR Сохраните страницу https://pear.php.net/go-pear.phar как файл c:\php\go-pear.phar. Запустите cmd.exe и введите команды cd c:\php php go-pear.phar Ответьте на вопросы, приняв значения по умолчанию, нажимая Enter. Добавьте пути в системный PATH, дважды щёлкнув на созданном в процессе установки файле c:\php\PEAR_ENV.reg. Установка PHP Code Sniffer В папке c:\php появился файл pear.bat, с помощью которого надо установить PHP Code Sniffer. Последняя версия PHP Code Sniffer — https://pear.php.net/package/PHP_CodeSniffer/download. В cmd.exeвыполните команду, указанную на странице с последней версией PHP Code Sniffer. На данный момент это: pear install PHP_CodeSniffer-3.1.1 В папке c:\php появились новые файлы, в том числе c:\php\phpcs.bat. Установка Composer Для дальнейшей установки понадобится Composer. Загрузите файл https://getcomposer.org/Composer-Setup.exe в папку c:\php. Запустите файл Composer-Setup.exe и проведите установку по умолчанию. Для активизации путей Composer надо перезапустить окно командной строки. Composer добавлен, теперь вы можете его использовать для установки других пакетов. Установка PHP Code Sniffer в PhpStorm Откройте в PhpStorm окно установок проекта (Ctrl+Alt+S) и выберите Languages&Frameworks → PHP. Установите PHP language level (7.1). Нажмите на многоточие справа от CLI Interpreter. В окне CLI Interpreters выберите файл PHP executable (C:\php\php.exe) и Debugger extension (C:\php\ext\php_xdebug-2.5.5-7.1-vc14-x86_64.dll). Нажмите OK. В этом же окне установок выберите Languages&Frameworks → PHP → Code Sniffer. Задайте к нему путь C:\php\phpcs.bat. Нажмите OK. В этом же окне установок выберите Editor → Inspections → PHP → PHP Code Sniffer validation и требуемый Coding standard. На картинке ниже выбран PEAR. Нажмите ОК. Сейчас PHP Code Sniffer установлен, можно пользоваться командой меню Code-Inspect Code. Установка WordPress Coding Standards В папке c:\php запустите команду (вот и пригодился Composer) composer create-project wp-coding-standards/wpcs --no-dev Появилась папка c:\php\wpcs. Добавление WordPress Coding Standards в PhpStorm В окне установок выберите Languages&Frameworks → PHP → Code Sniffer и задайте к нему путь C:\php\wpcs\vendor\bin\phpcs.bat. Можете нажать кнопку Validate рядом для проверки. Обратите внимание — вы подключили теперь другой Code Sniffer, из папки c:\php\wpcs. Нажмите ОК. В этом же окне установок выберите Editor → Inspections → PHP → PHP Code Sniffer validation и требуемый Coding standard. Если в списке стандартов не видите WordPress, нажмите на кнопку обновления справа (кольцевые стрелочки). Советую использовать WordPress Extra — самый строгий стандарт кодирования, за исключением VIP. Но VIP предназначен для специальных установок WordPress, и на обычных сайтах невозможно удовлетворить его требованиям. Подробнее здесь: https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards На этом процесс установки закончен, и теперь вы можете создавать профессиональный код для своих сайтов на WordPress.

понедельник, 23 декабря 2019 г.

Как посмотреть что хранится в php://output?

#php #phpstorm #openserver #xdebug


Делаю проверку и отладку с помощью xDebug.
OpenServer + xDebug + phpStorm.

Как посмотреть что хранится в php://output?
    


Ответы

Ответ 1



ob_get_contents() — Возвращает содержимое буфера вывода Пример использования

Дебагер в PHPStorm не подхватывает другие страницы

#phpstorm #xdebug


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


Ответы

Ответ 1



Убедитесь, что код контроллера действительно выполняется. Можно добавить в код контроллера какой-нибудь отладочный код, который покажет своё присутствие. Или можно бросить исключение и поймать его в режиме остановки на исключениях. Убедитесь, что файлы каким-нибудь образом не продублированы, и что вы ставите точки останова именно на тех файлах, которые выполняются. У вас может быть несколько веток, какие-то файлы могут преобразовываться и тому подобное. Воспользуйтесь функцией отладчика для входа внутрь и выхода из функций, чтобы добраться до интересующего вас кода. Если контроллер действительно выполняется, то до его кода можно добраться пошаговым выполнением кода из индексного файла.

воскресенье, 22 декабря 2019 г.

Как настроить phpstorm2016 на дебаг https?

#phpstorm #xdebug


Настраиваю xdebug в связке с phpstorm и хочу, чтобы при нажатии "Run -> Debug" сайты
открывались в браузере по протоколу https, а не http.

На данный момент настройки шторма:

сервер


конфиг



Как видно из второй картинки, он автоматом ставит стартовый URL: http://test.lo/.
Как переделать на https?

Хочу заметить, что сайты с http дебажатся вполне себе, т.е. дебаг настроен.
Также если нажать Debug, а потом в открытой сессий дебага дописать букву s, чтоб
перейти на https, то тоже подхватится. Но каждый раз так добавлять букву не вариант.
    


Ответы

Ответ 1



PHPStorm понимает полный URL с протоколом. Start Url: https://test.lo/ И на всякий случай в настройках сервера еще выставить 443 порт.