Структура универсального проекта

PHP проекты сейчас стали все более и более сложными, а одного бекенда подчас недостаточно — поэтому мы обычно работаем уже в связке фронт и бекенда и кучи маленьких «плагинчиков», «сборщиков» и «компиляторов». Зачем каждый из них и что делается — простыми словами, без лишнего.

php storm project

1) composer.json для подтягивания библиотек php (vendor — тут внешние классы, src_back — наши классы бекенда)

  • composer install — вытягивает vendor
  • composer update — обновляет, периодически запускайте, особенно если не находит класс который явно есть
{
  "name": "ksu/newchatboard",
  "require": {
	"phpunit/phpunit": "^5.4",
	"мой репозиторий": "dev-master"
  },
  "repositories": [
	{
	  "type": "vcs",
	  "url":  "git@bitbucket.org:мой репозиторий (не забудьте настроить ключи)"
	}
  ],
  "autoload": {
	"files": [
	  "src/_engines_settings.php",
	  "src/_site_settings.php"
	],
	"psr-4": {
	  "": "src/"
	}
  },
  "authors": [
	{
	  "name": "ksu",
	  "email": "ksu.zhytomirsky@gmail.com"
	}
  ]
}

2) tsconfig.json для настройки автокомпиляции ts в js (src_front/ts => public/js/all.js)
ничего делать не надо только в phpstorm настроить автокомпиляцию на изменения

3) package.json для настройки действий нпм, к примеру автокомпиляции scss в css

  • чтобы локально не гадить много — запустите глобальную установку пакетов npm install -g gulp gulp-autoprefixer gulp-load-plugins gulp-sass bower-installer
  • npm install — спокойно запускаем (все равно подгадит в папке node_modules)

4) bower.json для вытягивания библиотек фронтенда (фактически аналог composer для scss, js, если пакеты в npm вам не очень нравятся — на самом деле — практически одно)

  • .bowerrc настройка папки куда выкачивать
  • bower install — вытягивает если нет, и обновляет если есть собственно все указанные библиотеки

Теперь для запуска достаточно написать

  • npm run-script start для запуска со слежением
  • npm run-script build для единоразового построения

Но даже этого можно не делать, а воспользоваться функцией Php Storm, где есть также локальные «вотчеры» file watchers — для них php_storm_scss.bat

filewatcher

Оставить комментарий

XHTML: Вы можете использовать такие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">