Laravel #1

LARAVEL #1 3.12.2020, neljapäev
1. Приступаем к изучению фреймворка Laravel.
2. Разберем структуру проекта.
3. Laravel бесплатный.
4. На GitHub можно найти бесплатный исходный код.
5. Laravel – один из лучших MVC фреймворков.
6. Лучший фреймворк корпоративного и личного пользователя.
7. Можно использовать в любой ОС.
8. Можно использовать любую IDE – PHPStorm или Atom.
9. Позволяет писать чистый код.
10. Laravel позволяет выполнять UNIT-тестирование, обслуживание URL-адресов, установка
безопасности, работа с сессиями и установка системы авторизации, легкая работа с БД,
работа с почтой, отслеживание ошибок и др.
11. Поскольку это PHP-фреймворк, то лучше сначала изучить PHP. Есть курс.
12. На itproger.com найдете курсы и д.з.
13. Будем использовать редактор Atom.
14. Дополнительно надо использовать локальный сервер MAMP.
15. Можете использовать OpenServer.
16. Идем в Atom и открываем каталог MAMP/htdocs.
17. В MAMP открываем WebServer и видим полный путь к папке htdocs (File -> preferencies).
18. Нажимаем show и finder.
19. Выбираем htdocs и перетаскиваем в Atom.
20. Теперь htdocs рабочая папка в Atom.
21.Терминал устанавливаем прямо в Atom.
22. Install.
23. Устанавливаем терминал platformio-ide-terminal.
24. Нажимаем install.
25. После установки перезапускаем Atom и внизу появляется +, после нажатия на который
у нас будет открываться терминал.
26. Терминал открывается в рабочей директории.
27. Перед установкой Laravel внутрь проекта надо установить пакетный менеджер Composer.
28. Сначала установим composer, а потом при помощи composer установим Laravel.
29. Идем на сайт Composer, копируем 4 команды и вставляем в терминал.
30. Видим, что появился файл composer.phar (в папке htdocs).
31. Теперь можем установить Laravel внутрь нашего проекта.
32. Переходим на официальный сайт Laravel.
33. Установка Laravel разбита на два этапа.
34/1. Устанавливаем Laravel глобально.
34/2. Установка Laravel локально, те внутрь какого-либо проекта.
35. Глобальная установка выполняется один раз и в дальнейшем нам надо выполнять лишь
локальную установку.
36. Для глобальной установки копируем эту команду: composer global require laravel/installer
37. PHP должен быть установлен на вашем компьютере.
38. В терминале пишем: php composer.phar global require laravel/installer
Инсталлируем глобально фреймворк Laravel.
39. Теперь выполняем локальную установку. Возвращаемся к документации и копируем команду
composer create-project –prefer-dist laravel/laravel blog.
40. В терминале пишем: php composer.phar create-project –prefer-dist laravel/laravel blog
41. Здесь мы создаем новый проект с помощью Laravel с названием blog
42. Нажимаем enter и происходит установка всех зависимостей.
43. После установки в папке htdocs появляется новая папка itproger
44. php artisan key:generate -ansi. С помощью этой команды был сгенерирован ключ для подписи
приложения. Он генерируется автоматически при создании проекта.
45. При помощи команды artisan мы можем создавать новые файлы, модели, контроллеры, шаблоны.
Запускать локальный сервер, генерировать ключи.
46. Переходим в папку itproger.
47. Внутри этой папки есть файл artisan
48. С помощью этого файла мы можем обращаться к команде artisan
49. php artisan и нажимаем enter
50. Можем выполнять миграции.
51. make:rule – можем выполнять команду make с помощью artisan
52. Запускаем локальный сервер php artisan serve
53. Запускается локальный вебсервер и можем посмотреть его по этому URL-адресу: 127.0.0.1:8000
54. Отображается шаблонный проект Laravel
55. Переходим в Atom, чтоб поменять слово Laravel. В папке resources отображается js,
переводы сайта на разные языки. lang/. Сейчас есть только английский. Можем создать папку
lang/ru и в ней прописываем аналоги на русском языке. В папке resources/lang можем хранить
несколько версий вашего сайта.
56. В папке SASS хранится scss файл препроцессора
57. Здесь можем прописывать сам SCSS
58. Чтобы SCSS работал, надо добавить в проект nodejs и git(?) и сделать преобразование из
SASS в CSS
59. В папке resources/views отображаются различные html-файлы
60. Они должны иметь расширение blade.php. В таком случае они будут корректно отображаться
в laravel фреймворком, иначе некорректно
61. Код файла resources/views/welcome.blade.php отображается на сайте 127.0.0.1:8000
62. В папке resources находятся js, lang переводы и шаблоны, те файлы, которые будут
показываться самому пользователю
63. В дальнейшем мы будем создавать свой js своими руками
64. Пробежимся по папкам и узнаем, что они из себя представляют
65. Поскольку laravel – это MVC фреймворк, то здесь соответственно есть папки моделей,
контроллеров и шаблонов
66. Например, шаблоны находятся в папке resources/views
67. Все контроллеры и модели прописываются в папке APP
68. Сейчас есть только одна модель user.php. Она предоставляет корректную работу с
регистрацией и авторизацией пользователя
70. Можем добавлять соответсвенно контроллеры, провайдеры, модели – для этого есть папка APP
71. Папка Bootstrap. Она нужна для корректного запуска всего приложения. Здесь происходит
обработка всех процессов внутри нашего проекта
72. Config. Здесь находятся файлы с настройками
73. Config/app.php. При создании нового приложения здесь указываем локализацию нашего сайта.
locale => ‘en’, если здесь поставить ru, то в дальнейшем будет выбираться resources/lang/ru
папка и будет отображаться русская версия сайта. locale=ru в нескольких местах. Здесь
находятся глобальные настройки всего проекта.
74. config/database.php Указываем БД, которую используем по умолчанию
75. sqlsrv – MSSQL. По умолчанию default=>env(db_connection, ‘mysql’).
76. database/migrations. Здесь описаны файлы миграции. Каждый файл описывает табличку, которая
будет создана в БД. На данный момент создано 3 файла миграции.
77. Если мы хотим, чтобы эти 3 таблицы не создавались, то удаляем эти 3 файла.
78. В папке Database хранится информация о том, какие в БД есть таблицы,
какие пач (?) есть.
79. Папка public отвечает за различные файлы, которые будут показаны пользователю
80. Например, .htaccess. Это файл сервера apache. Здесь указываем переадресацию, страницу 404
81. index.php. При запуске сайта запускается public/index.php, а потом внутрь этого файла
встраиваютс html-шаблоны. Проверяется, на каком URL-адресе находится $request = request.capture().
Потом вызывается resource/views/шаблонный
82. public/robots.txt
83. Папка routes/ отвечает за отслеживание url-адресов
84. routs/web.php. Сейчас у нас есть только отслеживание главной странички:
Route::get(‘/’, function() {
return view(‘welcome’);
})
Когда мы находимся на главной странице, то вызывается шаблон welcome. Сам шаблон находится
resources/views/welcome
85. blade.php расширение добавлять не нужно.
86. В папке resources/views надо добавлять расширение blade.php
87. Папка storage служит для хранения разных данных: картинки, аудио, видео
88.Папка Tests служит для создания unit-тестирования
89. Папка vendor служит для composer. Создается composer-ом. В ней хранятся различные библи-
отеки, плагины, которые нужны для корректной работы вебсайта.
90. Дополнительно здесь находятся различные файлы. Например, для корректной работы git, gitignore,
gitattributes. Есть файлы для php-тестирования phpunit.xml
91. Файлы compose, composer.json, composer.lock, package.json
95. Artisan – для запуска artisan
96. Со всеми этими файлами вам не надо работать, кроме .env. Этот файл отвечает за глобальные
настройки проекта. Например, APP_NAME – название проекта, ключ подписи проекта APP_KEY нельзя
никому давать, а то можно редактировать, иначе выполните команду artisan key:generate.
Обновляет ключ.
APP_DEBUG=true. Это значит, что все ошибки проекта будут выводиться. =false, не будут
выводиться. При публикации сайта на сервер ставим APP_DEBUG=false
97. APP_URL=http://localhost – url вашего сайта
98. DB_CONNECTION=mysql указываем, к какой БД мы подключаемся. Указываем host, port, название
БД, имя и пароль. DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME, DB_PASSWORD.
Сначала подключаемся к локальной БД, а потом подключаемся к удаленной, когда выгрузим сайт
на сервер, чтоб он был доступен всем.
99. Также здесь есть куча дополнительных настроек. Глобальные настройки. К какой БД подключаемся,
название проекта и тд
100. Папки мы рассмотрели, проект создали и приступаем к реализации проекта
101. Все ссылки в описании к видео