Symfony
- Введение в Symfony. Бонус: системы ПК
- Команды
- Особенности разработки с использованием виртуальной машины
- Обновление версии PHP с 7.4 до 8.1
Введение в Symfony. Бонус: системы ПК
На данной странице представлено вводное занятие по работе в Symfony. Рассматривается пример установки модуля CraueConfigBundle с помощью composer install. Попутно разбираются различные аспекты работы фреймворка - организация файлов в проекте, понятия контроллеров, роутов, шаблонов, MVC и пр.
В видео 1 также приведены сведения о системах, используемых при проведении приемной кампании.
Команды
При работе с проектом Symfony используются команды, приведенные в таблице. Команды выполняются на виртуальной машине из корня проекта (для перехода выполнить команду: cd /var/www/html/symfony
).
Команды выполняются от пользователя apache
, иначе возникнут проблемы с правами доступа. Для этого необходимо одно из трех:
а) входить по SSH от имени пользователя apache
РЕКОМЕНДУЕМЫЙ СПОСОБ,
б) входить от любого пользователя, затем входить к консоль от имени apache
командой sudo -uapache bash
,
в) входить от любого пользователя и выполнять команды от имени apache
: sudo -uapache <команда>
.
Название |
Команда |
Комментарий |
Применение миграций базы данных |
php bin/console doctrine:migrations:migrate |
Стандартная команда модуля для работы с базами данных Doctrine. Миграции - это PHP-файлы, размещенные в проекте, и содержащие SQL-команды для создания структуры таблиц в базе данных (а иногда и для работы с данными). |
Обновление базы данных без миграций |
php bin/console doctrine:schema:update |
Аналогичная команда, но вместо использования миграций, обновляет таблицы до состояния, описанного в классах сущностей (Entity) в проекте. |
Сборка sass- и js-файлов |
|
сборка при разработке / сборка в рабочей системе |
Сборка sass и js-файлов с мониторингом изменений в файлах |
yarn encore dev --watch |
Выполняет первоначальную сборку на основании файлов в папке assets, затем мониторит изменения в файлах и при сохранении выполняет сборку на лету. |
Первоначальная команда настройки проекта |
php bin/console info configure |
Создает административного пользователя. Команда, не входящая в стандартную поставку Symfony. |
Особенности разработки с использованием виртуальной машины
Файлы виртуальной машины отличаются от файлов в проекте PHPStorm, т.к. это как бы 2 разные машины: виртуальная машина воспринимается как сервер, а файлы проекта хранятся на локальном диске. Поэтому важно помнить о синхронизации файлов.
Настройки Deployment (публикации изменений на сервере)
Среди прочих настроек нужно выделить следующие:
- автозагрузка файлов при сохранении файла в PHPStorm - удобная опция, чтобы не выполнять загрузку обновленного в редакторе PHPStorm файла на виртуальную машину:
- автозагрузка файлов при переходе между ветками Git - поскольку при переходе между ветками чаще всего требуется, чтобы состояние файлов на виртуальной машине актуализировалось, то данная опция также может оказаться очень полезной:
Ручная синхронизация файлов между виртуальной машиной и проектом
Делается так: правой кнопкой нажать на проекте, выбрать Deployment - Synchronize и дальше выбрать, какие файлы куда скопировать.
При синхронизации можно выбрать направление копирования (задается стрелочками посредине, а также можно удалить файл, которого нет на другой строне, для этого нужно установить вместо стрелочки крестик).
Тем не менее, опытным путем обнаружено, что не всегда PHPStorm при таком подходе определяет разницу. При работе в Symfony основные папки, которые необходимо синхронизировать, представлены ниже. В случае возникновения ошибок рекомендуется запустить синхронизацию не для проекта целиком, а для этих файлов / папок.
- assets
- config
- src
- templates
- composer.json
- composer.lock
Изменение часового пояса
В файле /etc/php.ini
прописать параметр:
date.timezone = Europe/Moscow
и далее перечитать конфиг PHP:
service httpd reload
.
Проверка:
Обновление версии PHP с 7.4 до 8.1
How to instructions for installing PHP 8.1 on CentOS 7
Introduce
What is PHP?
PHP: Hypertext Preprocessor, commonly abbreviated to PHP, is a scripting language or type of code preeminent used to develop general-purpose, open-source, server-written applications. It is very suitable for the web and can be easily embedded into HTML pages. Because it is optimized for web applications, is fast, compact, has a syntax similar to C and Java, is easy to learn, and has a relatively shorter product build time compared to other languages, PHP has quickly become one of the most popular languages in the world. The world’s most popular web programming language.
PHP 8.1 is currently under development and will be released on November 25, 2021. With PHP 8.1 it will be the most powerful content management on major and popular platforms like Joomla, Drupal, WordPress, OpenCart, Magento, and OctoberCMS, in addition, PHP 8.1 comes with a host of new features and improvements. Right now, I will introduce some new outstanding features and show you how to install PHP 8.1 on CentOS 7 to start exploring its cool features more closely.
What’s New in PHP 8.1?
- Enums have been integrated
- Readonly properties (Class properties can be marked as read-only and thus can only be written once.
- Never keyword (A new return type hint named Never was added in PHP 8.1)
- DNS over HTTPS (DoH) support.
- Support AVIF Image format.
- Added support for Fibers (Low-level mechanism for parallel management).
- The PHP Curl extension now supports HTTP(S) requests with File upload.
- Support for new fdatasync() and fsync() functions.
- PHP 8.1 adds array_is_list as a built-in function .
- Speed efficiency improved from 5% to 8% compared to the old version
- Unpack the array using string keys.
Install PHP 8.1 on CentOS 7
Since the default YUM repository in CentOS 7 does not have PHP 8.1 packages available, we will use the REMI repository to install 8.1 on CentOS 7
Step 1: SSH into the server
To install PHP 8.1 on CentOS 7, the first thing we need to do is SSH or access your VPS or server with root privileges first.
After successfully SSH, we continue with step 2.
Step 2: Install PHP 8.1 on CentOS 7
To get started, you need to add the Remi repository first so that from there you will be able to install PHP 8.1 on CentOS7.
To install and activate the Remi repository on CentOS 7, you need to run the following commands:
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
Below is the output after running the above commands.

- To install the PHP 8.1 packages and activate them permanently, you need to run the following commands:
yum -y install yum-utils yum-config-manager --disable 'remi-php*' yum-config-manager --enable remi-php81 yum repolist yum -y install php php-{cli,fpm,mysqlnd,zip,devel,gd,mbstring,curl,xml,pear,bcmath,json,opcache,redis,memcache}
Below is the output after running the above commands

Step 3: Check PHP version after installation
After you have installed it, you can check the PHP version again with the following command:
php -v
Below is the output after running the above command

As shown, I have successfully installed PHP 8.1 on CentOS 7 successfully.
Summary
So in this article, I showed you how to install PHP 8.1 on CentOS 7 in a very simple and fast way. PHP 8.1 will certainly bring many new utilities, thus helping applications or websites to operate with maximum efficiency and stability. Hope the article will help you, wish you success.