Фреймворк laravel
Фреймворк laravel
https://laravel.com
Sessions in Laravel | How to Create Sessions in Laravel | How to Use Sessions in Laravel
https://www.youtube.com/watch?v=Zap-LNZpvGA
https://www.youtube.com/watch?v=0Be0fX9wbXc
https://www.youtube.com/playlist?list=PLd2_Os8Cj3t8pnG4ubQemoqnTwf0VFEtU
https://www.youtube.com/watch?v=Jm-33Qnu7sY&list=PLXCVm4GFpx5DMQeuzyQwZW8QtslxsUxFy
https://www.youtube.com/watch?v=aNcbYt8BykY&list=PLXCVm4GFpx5CZf4X5ppNJTPsaGwSlBXLX
https://www.youtube.com/watch?v=VM6-qii1LR8
https://www.youtube.com/watch?v=TydQA_5hH6Y
https://www.youtube.com/watch?v=SmuY6bHoxQA
Sessions in Laravel | How to Create Sessions in Laravel | How to Use Sessions in Laravel
https://www.youtube.com/watch?v=Zap-LNZpvGA
https://www.youtube.com/watch?v=0Be0fX9wbXc
https://www.youtube.com/playlist?list=PLd2_Os8Cj3t8pnG4ubQemoqnTwf0VFEtU
https://www.youtube.com/watch?v=Jm-33Qnu7sY&list=PLXCVm4GFpx5DMQeuzyQwZW8QtslxsUxFy
https://www.youtube.com/watch?v=aNcbYt8BykY&list=PLXCVm4GFpx5CZf4X5ppNJTPsaGwSlBXLX
https://www.youtube.com/watch?v=VM6-qii1LR8
https://www.youtube.com/watch?v=TydQA_5hH6Y
https://www.youtube.com/watch?v=SmuY6bHoxQA
Re: Фреймворк laravel
Создание проекта
Запуск проекта laravel
Подключение файлов к проекту
composer.json
Код: Выделить всё
composer create-project laravel/laravel имя_проекта
Код: Выделить всё
php artisan serve
composer.json
Код: Выделить всё
autoload: {
...
"files": [
"app/Support/Helpers/common.php"
]
}
Код: Выделить всё
php composer dump
Re: Фреймворк laravel
https://www.youtube.com/watch?v=0Be0fX9wbXc
Установка:
https://itproger.com/course/laravel
https://getcomposer.org/download/
Установить композер
установить Laravel
установить Laravel локально внутрь какого-либо проекта
Установка:
https://itproger.com/course/laravel
https://getcomposer.org/download/
Установить композер
Код: Выделить всё
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'.PHP_EOL; } else { echo 'Installer corrupt'.PHP_EOL; unlink('composer-setup.php'); exit(1); }"
php composer-setup.php
php -r "unlink('composer-setup.php');"
Код: Выделить всё
php composer.phar global require laravel/installer
Код: Выделить всё
php composer.phar create-project --prefer-dist laravel/laravel APP_NAME
Re: Фреймворк laravel
Запуск локального сервера
Если проект назван itproger
Переходим в папку проекта:
Запускаем сервер
Команда php artisan serve подходит для разработки, а не для продакшена. Для продакшена рекомендуется использовать более надежные серверные решения, такие как Nginx или Apache.
Если проект назван itproger
Переходим в папку проекта:
Код: Выделить всё
cd itproger
Код: Выделить всё
php artisan serve --host=0.0.0.0 --port=8080
Re: Фреймворк laravel
Установка зависимостей:
npm - пакетный менеджер для Node.js
After this operation, 445 MB of additional disk space will be used.
Переходим в проект и устанавливаем все зависимости
npm - пакетный менеджер для Node.js
Код: Выделить всё
sudo apt install npm
Переходим в проект и устанавливаем все зависимости
Код: Выделить всё
cd itproger
npm i
Re: Фреймворк laravel
конфиги:
.env : основной конфигурационный файл проекта глобальных настроек
composer.json : Бэкэнд зависимости
package.json : Фронтэнд зависимости
phpunit.xml : характеристики тестирования проекта
webpack.mix.js : Способ преобразования всех js и css файлов
.env : основной конфигурационный файл проекта глобальных настроек
composer.json : Бэкэнд зависимости
package.json : Фронтэнд зависимости
phpunit.xml : характеристики тестирования проекта
webpack.mix.js : Способ преобразования всех js и css файлов
Код: Выделить всё
const mix = require('laravel-mix');
mix.js('resources/js/app.js', 'public/js')
.sass('resources/sass/app.scss', 'public/css')
Re: Фреймворк laravel
Создайте таблицу сессий с помощью миграции
Это создаст файл миграции для таблицы sessions. Потом выполните миграцию
Код: Выделить всё
php artisan session:table
Код: Выделить всё
php artisan migrate
Re: Фреймворк laravel
Вывод шаблона маршрута на адрес /about
route/web.php
Шаблон about
resources/wiews/about.blade.php
route/web.php
Код: Выделить всё
<?php
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
return view('welcome');
});
Route::get('/about', function () {
return view(view: 'about');
});
resources/wiews/about.blade.php
Код: Выделить всё
<!doctype html>
<html lang="ru">
<head>
<meta charset="UTF=8">
<meta name="viewport"
content="widht=device-width, user-scalabre=no, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<h1>Привет</h1>
</html>
Re: Фреймворк laravel
Получение параметров из url-адреса
route/web.php
route/web.php
Код: Выделить всё
<?php
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
return view('welcome');
});
Route::get('/about', function () {
return view(view: 'about');
});
Route::get('/user/{id}/{name}', function ($id, $name) {
return 'ID: '. $id .'.Name: '. $name;
});
Re: Фреймворк laravel
Подключение стилей
https://getbootstrap.com
Установка зависимостей
Запуск сборки
Перейти в каталог проекта и установить bootstrap
resources/css/app.css добавить в начало файла
Обновите файл webpack.mix.js, чтобы скомпилировать ваши стили
Запустите сборку ассетов:
или для режима разработки автоматически:
Подключите скомпилированные стили в ваш Blade-шаблон, например в resources/views/layout.blade.php:
Убедитесь, что у вас подключен скрипт app.js, если используете его, в шаблоне:
После этого Bootstrap будет подключен к вашему проекту Laravel, и вы сможете использовать его классы в ваших шаблонах.
https://getbootstrap.com
Установка зависимостей
Код: Выделить всё
npm init -y
npm install laravel-mix --save-dev
npm install bootstrap --save
Код: Выделить всё
npx mix
Код: Выделить всё
npm i bootstrap
Код: Выделить всё
/* resources/css/app.css */
@import "bootstrap/dist/css/bootstrap.min.css";
Код: Выделить всё
const mix = require('laravel-mix');
mix.js('resources/js/app.js', 'public/js')
.postCss('resources/css/app.css', 'public/css', [
// Можно добавить плагины PostCSS, если нужно
]);
Код: Выделить всё
npm run dev
Код: Выделить всё
npm run watch
Код: Выделить всё
<link href="{{ mix('css/app.css') }}" rel="stylesheet">
Код: Выделить всё
<script src="{{ mix('js/app.js') }}"></script>
Re: Фреймворк laravel
Ошибка `ENOSPC: System limit for number of file watchers reached` означает, что в вашей системе достигнут лимит на количество файловых наблюдателей (watchers), которые могут одновременно использоваться для слежения за файлами. Это распространенная проблема при использовании инструментов вроде Vite, Webpack или других систем, отслеживающих изменения файлов.
### Как решить проблему ENOSPC
#### Вариант 1: увеличить лимит наблюдателей
Для систем на базе Linux (например, Devuan, Ubuntu и т.п.):
1. Откройте или создайте файл `/etc/sysctl.conf` (или используйте команду):
```bash
sudo nano /etc/sysctl.conf
```
2. Добавьте или измените строку:
```conf
fs.inotify.max_user_watches=524288
```
Это увеличит лимит до 524288.
3. Примените изменения:
```bash
sudo sysctl -p
```
4. Проверьте, что лимит поднят:
```bash
cat /proc/sys/fs/inotify/max_user_watches
```
Это должно вернуть новое значение.
#### Вариант 2: временно изменить лимит (до перезагрузки)
Можно выполнить команду:
```bash
sudo sysctl -w fs.inotify.max_user_watches=524288
```
Это сбросится при перезагрузке, поэтому рекомендуется внести в `/etc/sysctl.conf`.
#### Вариант 3: перезапустить проект
После увеличения лимита перезапустите команду:
```bash
npm run dev
```
или:
```bash
npx vite
```
### Итог
- Увеличьте лимит `fs.inotify.max_user_watches`.
- Перезапустите ваш dev-сервер.
Это должно решить проблему с ошибкой ENOSPC.
### Как решить проблему ENOSPC
#### Вариант 1: увеличить лимит наблюдателей
Для систем на базе Linux (например, Devuan, Ubuntu и т.п.):
1. Откройте или создайте файл `/etc/sysctl.conf` (или используйте команду):
```bash
sudo nano /etc/sysctl.conf
```
2. Добавьте или измените строку:
```conf
fs.inotify.max_user_watches=524288
```
Это увеличит лимит до 524288.
3. Примените изменения:
```bash
sudo sysctl -p
```
4. Проверьте, что лимит поднят:
```bash
cat /proc/sys/fs/inotify/max_user_watches
```
Это должно вернуть новое значение.
#### Вариант 2: временно изменить лимит (до перезагрузки)
Можно выполнить команду:
```bash
sudo sysctl -w fs.inotify.max_user_watches=524288
```
Это сбросится при перезагрузке, поэтому рекомендуется внести в `/etc/sysctl.conf`.
#### Вариант 3: перезапустить проект
После увеличения лимита перезапустите команду:
```bash
npm run dev
```
или:
```bash
npx vite
```
### Итог
- Увеличьте лимит `fs.inotify.max_user_watches`.
- Перезапустите ваш dev-сервер.
Это должно решить проблему с ошибкой ENOSPC.
Re: Фреймворк laravel
Ошибка говорит о том, что команда `npx mix` неправильно вызвана. В проекте для сборки с Laravel Mix используется команда `npm run dev` или `npx mix` (без расширения). Однако, чтобы использовать `npx` с Laravel Mix, нужно иметь соответствующий скрипт в `package.json`.
### Правильный порядок действий:
1. **Создайте файл `package.json`, если его ещё нет**
Если у вас его нет, выполните:
```bash
npm init -y
```
2. **Установите Laravel Mix и необходимые пакеты**
```bash
npm install laravel-mix --save-dev
npm install bootstrap --save
npm install webpack --save-dev
```
3. **Создайте файл `webpack.mix.js` в корне проекта**
Вот пример минимальной конфигурации:
```js
const mix = require('laravel-mix');
mix.js('resources/js/app.js', 'public/js')
.postCss('resources/css/app.css', 'public/css', [
require('postcss-import'),
]);
```
4. **Создайте файл `resources/css/app.css` и добавьте:**
```css
@import "bootstrap/dist/css/bootstrap.min.css";
```
5. **Добавьте скрипты в `package.json`**
Откройте `package.json` и добавьте раздел `scripts`, например:
```json
"scripts": {
"dev": "npm run development",
"development": "mix",
"watch": "mix watch",
"hot": "mix hot",
"prod": "npm run production",
"production": "mix --production"
}
```
6. **Запустите сборку:**
```bash
npm run dev
```
или для автоматической пересборки при изменениях:
```bash
npm run watch
```
---
### Итог:
- Не используйте `npx mix` — правильная команда: `npm run dev`.
- Убедитесь, что у вас есть файл `webpack.mix.js` и `package.json` с нужными скриптами.
- После этого все должно работать.
---
Если хотите быстро подключить Bootstrap без сборки — используйте CDN, добавив в шаблон:
```html
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
```
и
```html
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
```
Это самый быстрый способ, если сборка не обязательна.
### Правильный порядок действий:
1. **Создайте файл `package.json`, если его ещё нет**
Если у вас его нет, выполните:
```bash
npm init -y
```
2. **Установите Laravel Mix и необходимые пакеты**
```bash
npm install laravel-mix --save-dev
npm install bootstrap --save
npm install webpack --save-dev
```
3. **Создайте файл `webpack.mix.js` в корне проекта**
Вот пример минимальной конфигурации:
```js
const mix = require('laravel-mix');
mix.js('resources/js/app.js', 'public/js')
.postCss('resources/css/app.css', 'public/css', [
require('postcss-import'),
]);
```
4. **Создайте файл `resources/css/app.css` и добавьте:**
```css
@import "bootstrap/dist/css/bootstrap.min.css";
```
5. **Добавьте скрипты в `package.json`**
Откройте `package.json` и добавьте раздел `scripts`, например:
```json
"scripts": {
"dev": "npm run development",
"development": "mix",
"watch": "mix watch",
"hot": "mix hot",
"prod": "npm run production",
"production": "mix --production"
}
```
6. **Запустите сборку:**
```bash
npm run dev
```
или для автоматической пересборки при изменениях:
```bash
npm run watch
```
---
### Итог:
- Не используйте `npx mix` — правильная команда: `npm run dev`.
- Убедитесь, что у вас есть файл `webpack.mix.js` и `package.json` с нужными скриптами.
- После этого все должно работать.
---
Если хотите быстро подключить Bootstrap без сборки — используйте CDN, добавив в шаблон:
```html
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
```
и
```html
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
```
Это самый быстрый способ, если сборка не обязательна.
Re: Фреймворк laravel
Установить недостающий модуль
package.json
Собрать компоненты:
Код: Выделить всё
npm install postcss-import --save-dev
Код: Выделить всё
{
"private": true,
"scripts": {
"dev": "mix",
"watch": "mix watch",
"hot": "mix hot",
"prod": "npm run production",
"production": "mix --production"
},
"devDependencies": {
"@tailwindcss/vite": "^4.0.0",
"axios": "^1.8.2",
"concurrently": "^9.0.1",
"laravel-mix": "^6.0.49",
"laravel-vite-plugin": "^1.2.0",
"postcss-import": "^16.1.0",
"tailwindcss": "^4.0.0",
"vite": "^6.2.4"
},
"dependencies": {
"bootstrap": "^5.3.6"
},
"name": "itproger",
"description": "<p align=\"center\"><a href=\"https://laravel.com\" target=\"_blank\"><img src=\"https://raw.githubusercontent.com/laravel/art/master/logo-lockup/5%20SVG/2%20CMYK/1%20Full%20Color/laravel-logolockup-cmyk-red.svg\" width=\"400\" alt=\"Laravel Logo\"></a></p>",
"version": "1.0.0",
"main": "vite.config.js",
"directories": {
"test": "tests"
},
"keywords": [],
"author": "",
"license": "ISC"
}
Код: Выделить всё
npm run dev
Re: Фреймворк laravel
Использование стилей:
https://getbootstrap.com/ -> Examples -> Custom Components
Выбираем любой шаблонный проект, например Prising
https://getbootstrap.com/ -> Examples -> Custom Components
Выбираем любой шаблонный проект, например Prising