Laravel

Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes

https://mb4.ru/frameworks/laravel/articles/1027-laravel-migrate-error-sp...

===============

<form action="/test" method="post">
@csrf
<input name="nazv" required>
<input type="number" name="cena" required>
<input name="vers" required>
<button class="btn btn-primary btn-sm" type="submit">Отправить</button>
</form>
=================

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\Prod2;

class TestController extends Controller{// Добавление с формы

function submit(Request $rr){
if(\Auth::check()) {
$m = new Prod2();
$m->nazv = preg_replace('/[&<>\'";]/', ' ', $rr->input('nazv'));
$m->cena = preg_replace('/\D/', '', $rr->input('cena'));
$m->vers = preg_replace('/[&<>\'";]/', ' ',$rr->input('vers'));
$m -> save();
}
return view('u', ['rr7' => $m->all()]);
}
}
==============

@auth
// Пользователь аутентифицирован
@endauth
@guest
// Пользователь не аутентифицирован
@endguest

=================

use App\Models\prod2;
$model = new prod2();

Добавление:

==============

php artisan make:model UserModel -m

Здесь команда -m обозначает создание файла миграции вместе с файлом модели.
Это есть - хорошо.

В миграции потом нужно прописать например:

/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('prod2s', function (Blueprint $table) {
$table->id();
$table->string('nazv');
$table->string('cena');
$table->string('vers');
$table->timestamps();
});
}
Затем:

Когда все будет готово выполните команду миграции и очистки кэша:

php artisan migrate
php artisan cache:clear

=======

https://itproger.com/course/laravel/5
Это круто. Особенно видео

======================

$ad = isset(\Auth::user()->is_admin) ? \Auth::user()->is_admin : 0;

if($ad == 1) print 'Вы администратор';

else print 'Вы НЕ администратор, но таблицу мы всё равно покажем:';

============

https://losst.ru/ustanovka-laravel-v-ubuntu-18-04

Написано что без Компосера тоже можно установить.

sudo apt install php-mysql php-mbstring php-tokenizer php-xml php-json php-common

- если это всё установлено - то оно сразу об этом скажет.

Нужно перейти в папку куда будите устанавливать этот самый Ларавел. Я сделал не правельно и установил всё в папку по инструкции /var/www/sites. Так тоже можно, но как к ней обращаться потом с Апачи?

sudo composer create-project --prefer-dist laravel/laravel laravelapp

- устанавливается очень долго и скачивает около 50МБ в распакованном виде.

Установит всё в папку laravelapp

БД получается что не нужна. Я создал БД и таблицу и прописал её в настройках, но там всё осталось нетронутым.

php artisan serve - запускает свой, внутренний сервер. Команда работает только из корня установки сайта!

------------------------

https://riptutorial.com/laravel/example/29382/hello-world-example-with-v...

1. В resources/views создать файл helloview.blade.php с <h1>Hello, World</h1> - Вьюха, view, Представление

2. cd your_laravel_project_root_directory
$> php artisan make:controller HelloController - это создаст файл app/Http/Controllers/HelloController.php

3. Его нужно дополнить, а точнее написать - потому как это просто пустой Класс, шаблон, заготовка. Пишем туда:
public function hello(){
return view('helloview');
}

4. В routes/web.php нужно прописать: Route::get('/helloworld', 'App\Http\Controllers\HelloController@hello');

Это у них называется Роутр.

Вот столько плясок с Бубном чтоб вывести одну строку.

Компьютер:

Comments

$ composer create-project --prefer-dist laravel/laravel laravelapp
Creating a "laravel/laravel" project at "./laravelapp"
Installing laravel/laravel (v10.2.8)
- Downloading laravel/laravel (v10.2.8)
- Installing laravel/laravel (v10.2.8): Extracting archive
Created project in /home/u2977s7ys/domains/simf.russkiyslovar.ru/public_html/laravelapp
> @php -r "file_exists('.env') || copy('.env.example', '.env');"
Loading composer repositories with package information
Updating dependencies
Lock file operations: 110 installs, 0 updates, 0 removals
- Locking brick/math (0.11.0)
- Locking dflydev/dot-access-data (v3.0.2)
- Locking doctrine/inflector (2.0.8)
- Locking doctrine/lexer (3.0.0)
- Locking dragonmantank/cron-expression (v3.3.3)
- Locking egulias/email-validator (4.0.2)
- Locking fakerphp/faker (v1.23.0)
- Locking filp/whoops (2.15.4)
- Locking fruitcake/php-cors (v1.3.0)
- Locking graham-campbell/result-type (v1.1.1)
- Locking guzzlehttp/guzzle (7.8.0)
- Locking guzzlehttp/promises (2.0.1)
- Locking guzzlehttp/psr7 (2.6.1)
- Locking guzzlehttp/uri-template (v1.0.2)
- Locking hamcrest/hamcrest-php (v2.0.1)
- Locking laravel/framework (v10.31.0)
- Locking laravel/pint (v1.13.6)
- Locking laravel/prompts (v0.1.13)
- Locking laravel/sail (v1.26.0)
- Locking laravel/sanctum (v3.3.2)
- Locking laravel/serializable-closure (v1.3.2)
- Locking laravel/tinker (v2.8.2)
- Locking league/commonmark (2.4.1)
- Locking league/config (v1.2.0)
- Locking league/flysystem (3.19.0)
- Locking league/flysystem-local (3.19.0)
- Locking league/mime-type-detection (1.14.0)
- Locking mockery/mockery (1.6.6)
- Locking monolog/monolog (3.5.0)
- Locking myclabs/deep-copy (1.11.1)
- Locking nesbot/carbon (2.71.0)
- Locking nette/schema (v1.2.5)
- Locking nette/utils (v4.0.3)
- Locking nikic/php-parser (v4.17.1)
- Locking nunomaduro/collision (v7.10.0)
- Locking nunomaduro/termwind (v1.15.1)
- Locking phar-io/manifest (2.0.3)
- Locking phar-io/version (3.2.1)
- Locking phpoption/phpoption (1.9.1)
- Locking phpunit/php-code-coverage (10.1.7)
- Locking phpunit/php-file-iterator (4.1.0)
- Locking phpunit/php-invoker (4.0.0)
- Locking phpunit/php-text-template (3.0.1)
- Locking phpunit/php-timer (6.0.0)
- Locking phpunit/phpunit (10.4.2)
- Locking psr/clock (1.0.0)
- Locking psr/container (2.0.2)
- Locking psr/event-dispatcher (1.0.0)
- Locking psr/http-client (1.0.3)
- Locking psr/http-factory (1.0.2)
- Locking psr/http-message (2.0)
- Locking psr/log (3.0.0)
- Locking psr/simple-cache (3.0.0)
- Locking psy/psysh (v0.11.22)
- Locking ralouphie/getallheaders (3.0.3)
- Locking ramsey/collection (2.0.0)
- Locking ramsey/uuid (4.7.5)
- Locking sebastian/cli-parser (2.0.0)
- Locking sebastian/code-unit (2.0.0)
- Locking sebastian/code-unit-reverse-lookup (3.0.0)
- Locking sebastian/comparator (5.0.1)
- Locking sebastian/complexity (3.1.0)
- Locking sebastian/diff (5.0.3)
- Locking sebastian/environment (6.0.1)
- Locking sebastian/exporter (5.1.1)
- Locking sebastian/global-state (6.0.1)
- Locking sebastian/lines-of-code (2.0.1)
- Locking sebastian/object-enumerator (5.0.0)
- Locking sebastian/object-reflector (3.0.0)
- Locking sebastian/recursion-context (5.0.0)
- Locking sebastian/type (4.0.0)
- Locking sebastian/version (4.0.1)
- Locking spatie/backtrace (1.5.3)
- Locking spatie/flare-client-php (1.4.3)
- Locking spatie/ignition (1.11.3)
- Locking spatie/laravel-ignition (2.3.1)
- Locking symfony/console (v6.3.8)
- Locking symfony/css-selector (v6.3.2)
- Locking symfony/deprecation-contracts (v3.3.0)
- Locking symfony/error-handler (v6.3.5)
- Locking symfony/event-dispatcher (v6.3.2)
- Locking symfony/event-dispatcher-contracts (v3.3.0)
- Locking symfony/finder (v6.3.5)
- Locking symfony/http-foundation (v6.3.8)
- Locking symfony/http-kernel (v6.3.8)
- Locking symfony/mailer (v6.3.5)
- Locking symfony/mime (v6.3.5)
- Locking symfony/polyfill-ctype (v1.28.0)
- Locking symfony/polyfill-intl-grapheme (v1.28.0)
- Locking symfony/polyfill-intl-idn (v1.28.0)
- Locking symfony/polyfill-intl-normalizer (v1.28.0)
- Locking symfony/polyfill-mbstring (v1.28.0)
- Locking symfony/polyfill-php72 (v1.28.0)
- Locking symfony/polyfill-php80 (v1.28.0)
- Locking symfony/polyfill-php83 (v1.28.0)
- Locking symfony/polyfill-uuid (v1.28.0)
- Locking symfony/process (v6.3.4)
- Locking symfony/routing (v6.3.5)
- Locking symfony/service-contracts (v3.3.0)
- Locking symfony/string (v6.3.8)
- Locking symfony/translation (v6.3.7)
- Locking symfony/translation-contracts (v3.3.0)
- Locking symfony/uid (v6.3.8)
- Locking symfony/var-dumper (v6.3.8)
- Locking symfony/yaml (v6.3.8)
- Locking theseer/tokenizer (1.2.1)
- Locking tijsverkoyen/css-to-inline-styles (2.2.6)
- Locking vlucas/phpdotenv (v5.5.0)
- Locking voku/portable-ascii (2.0.1)
- Locking webmozart/assert (1.11.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 110 installs, 0 updates, 0 removals
- Downloading doctrine/inflector (2.0.8)
- Downloading doctrine/lexer (3.0.0)
- Downloading symfony/polyfill-ctype (v1.28.0)
- Downloading dragonmantank/cron-expression (v3.3.3)
- Downloading fakerphp/faker (v1.23.0)
- Downloading symfony/polyfill-php80 (v1.28.0)
- Downloading symfony/polyfill-php83 (v1.28.0)
- Downloading symfony/polyfill-mbstring (v1.28.0)
- Downloading symfony/http-foundation (v6.3.8)
- Downloading fruitcake/php-cors (v1.3.0)
- Downloading psr/http-message (2.0)
- Downloading psr/http-client (1.0.3)
- Downloading guzzlehttp/psr7 (2.6.1)
- Downloading guzzlehttp/promises (2.0.1)
- Downloading guzzlehttp/guzzle (7.8.0)
- Downloading guzzlehttp/uri-template (v1.0.2)
- Downloading laravel/pint (v1.13.6)
- Downloading symfony/polyfill-intl-normalizer (v1.28.0)
- Downloading symfony/polyfill-intl-grapheme (v1.28.0)
- Downloading symfony/string (v6.3.8)
- Downloading symfony/service-contracts (v3.3.0)
- Downloading symfony/console (v6.3.8)
- Downloading voku/portable-ascii (2.0.1)
- Downloading symfony/css-selector (v6.3.2)
- Downloading symfony/var-dumper (v6.3.8)
- Downloading symfony/polyfill-uuid (v1.28.0)
- Downloading symfony/uid (v6.3.8)
- Downloading symfony/routing (v6.3.5)
- Downloading symfony/process (v6.3.4)
- Downloading symfony/polyfill-php72 (v1.28.0)
- Downloading symfony/polyfill-intl-idn (v1.28.0)
- Downloading symfony/mime (v6.3.5)
- Downloading symfony/event-dispatcher-contracts (v3.3.0)
- Downloading symfony/event-dispatcher (v6.3.2)
- Downloading egulias/email-validator (4.0.2)
- Downloading symfony/mailer (v6.3.5)
- Downloading symfony/error-handler (v6.3.5)
- Downloading symfony/http-kernel (v6.3.8)
- Downloading symfony/finder (v6.3.5)
- Downloading ramsey/collection (2.0.0)
- Downloading brick/math (0.11.0)
- Downloading ramsey/uuid (4.7.5)
- Downloading nunomaduro/termwind (v1.15.1)
- Downloading symfony/translation-contracts (v3.3.0)
- Downloading symfony/translation (v6.3.7)
- Downloading nesbot/carbon (2.71.0)
- Downloading monolog/monolog (3.5.0)
- Downloading league/mime-type-detection (1.14.0)
- Downloading league/flysystem (3.19.0)
- Downloading league/flysystem-local (3.19.0)
- Downloading nette/utils (v4.0.3)
- Downloading nette/schema (v1.2.5)
- Downloading league/config (v1.2.0)
- Downloading league/commonmark (2.4.1)
- Downloading laravel/serializable-closure (v1.3.2)
- Downloading laravel/prompts (v0.1.13)
- Downloading laravel/framework (v10.31.0)
- Downloading symfony/yaml (v6.3.8)
- Downloading laravel/sail (v1.26.0)
- Downloading laravel/sanctum (v3.3.2)
- Downloading nikic/php-parser (v4.17.1)
- Downloading psy/psysh (v0.11.22)
- Downloading laravel/tinker (v2.8.2)
- Downloading hamcrest/hamcrest-php (v2.0.1)
- Downloading mockery/mockery (1.6.6)
- Downloading filp/whoops (2.15.4)
- Downloading nunomaduro/collision (v7.10.0)
- Downloading sebastian/version (4.0.1)
- Downloading sebastian/type (4.0.0)
- Downloading sebastian/recursion-context (5.0.0)
- Downloading sebastian/object-reflector (3.0.0)
- Downloading sebastian/object-enumerator (5.0.0)
- Downloading sebastian/global-state (6.0.1)
- Downloading sebastian/exporter (5.1.1)
- Downloading sebastian/environment (6.0.1)
- Downloading sebastian/diff (5.0.3)
- Downloading sebastian/comparator (5.0.1)
- Downloading sebastian/code-unit (2.0.0)
- Downloading sebastian/cli-parser (2.0.0)
- Downloading phpunit/php-timer (6.0.0)
- Downloading phpunit/php-text-template (3.0.1)
- Downloading phpunit/php-invoker (4.0.0)
- Downloading phpunit/php-file-iterator (4.1.0)
- Downloading sebastian/lines-of-code (2.0.1)
- Downloading sebastian/complexity (3.1.0)
- Downloading sebastian/code-unit-reverse-lookup (3.0.0)
- Downloading phpunit/php-code-coverage (10.1.7)
- Downloading phpunit/phpunit (10.4.2)
- Downloading spatie/backtrace (1.5.3)
- Downloading spatie/flare-client-php (1.4.3)
- Downloading spatie/ignition (1.11.3)
- Downloading spatie/laravel-ignition (2.3.1)
- Installing doctrine/inflector (2.0.8): Extracting archive
- Installing doctrine/lexer (3.0.0): Extracting archive
- Installing symfony/polyfill-ctype (v1.28.0): Extracting archive
- Installing webmozart/assert (1.11.0): Extracting archive
- Installing dragonmantank/cron-expression (v3.3.3): Extracting archive
- Installing symfony/deprecation-contracts (v3.3.0): Extracting archive
- Installing psr/container (2.0.2): Extracting archive
- Installing fakerphp/faker (v1.23.0): Extracting archive
- Installing symfony/polyfill-php80 (v1.28.0): Extracting archive
- Installing symfony/polyfill-php83 (v1.28.0): Extracting archive
- Installing symfony/polyfill-mbstring (v1.28.0): Extracting archive
- Installing symfony/http-foundation (v6.3.8): Extracting archive
- Installing fruitcake/php-cors (v1.3.0): Extracting archive
- Installing psr/http-message (2.0): Extracting archive
- Installing psr/http-client (1.0.3): Extracting archive
- Installing ralouphie/getallheaders (3.0.3): Extracting archive
- Installing psr/http-factory (1.0.2): Extracting archive
- Installing guzzlehttp/psr7 (2.6.1): Extracting archive
- Installing guzzlehttp/promises (2.0.1): Extracting archive
- Installing guzzlehttp/guzzle (7.8.0): Extracting archive
- Installing guzzlehttp/uri-template (v1.0.2): Extracting archive
- Installing laravel/pint (v1.13.6): Extracting archive
- Installing symfony/polyfill-intl-normalizer (v1.28.0): Extracting archive
- Installing symfony/polyfill-intl-grapheme (v1.28.0): Extracting archive
- Installing symfony/string (v6.3.8): Extracting archive
- Installing symfony/service-contracts (v3.3.0): Extracting archive
- Installing symfony/console (v6.3.8): Extracting archive
- Installing voku/portable-ascii (2.0.1): Extracting archive
- Installing phpoption/phpoption (1.9.1): Extracting archive
- Installing graham-campbell/result-type (v1.1.1): Extracting archive
- Installing vlucas/phpdotenv (v5.5.0): Extracting archive
- Installing symfony/css-selector (v6.3.2): Extracting archive
- Installing tijsverkoyen/css-to-inline-styles (2.2.6): Extracting archive
- Installing symfony/var-dumper (v6.3.8): Extracting archive
- Installing symfony/polyfill-uuid (v1.28.0): Extracting archive
- Installing symfony/uid (v6.3.8): Extracting archive
- Installing symfony/routing (v6.3.5): Extracting archive
- Installing symfony/process (v6.3.4): Extracting archive
- Installing symfony/polyfill-php72 (v1.28.0): Extracting archive
- Installing symfony/polyfill-intl-idn (v1.28.0): Extracting archive
- Installing symfony/mime (v6.3.5): Extracting archive
- Installing psr/event-dispatcher (1.0.0): Extracting archive
- Installing symfony/event-dispatcher-contracts (v3.3.0): Extracting archive
- Installing symfony/event-dispatcher (v6.3.2): Extracting archive
- Installing psr/log (3.0.0): Extracting archive
- Installing egulias/email-validator (4.0.2): Extracting archive
- Installing symfony/mailer (v6.3.5): Extracting archive
- Installing symfony/error-handler (v6.3.5): Extracting archive
- Installing symfony/http-kernel (v6.3.8): Extracting archive
- Installing symfony/finder (v6.3.5): Extracting archive
- Installing ramsey/collection (2.0.0): Extracting archive
- Installing brick/math (0.11.0): Extracting archive
- Installing ramsey/uuid (4.7.5): Extracting archive
- Installing psr/simple-cache (3.0.0): Extracting archive
- Installing nunomaduro/termwind (v1.15.1): Extracting archive
- Installing symfony/translation-contracts (v3.3.0): Extracting archive
- Installing symfony/translation (v6.3.7): Extracting archive
- Installing psr/clock (1.0.0): Extracting archive
- Installing nesbot/carbon (2.71.0): Extracting archive
- Installing monolog/monolog (3.5.0): Extracting archive
- Installing league/mime-type-detection (1.14.0): Extracting archive
- Installing league/flysystem (3.19.0): Extracting archive
- Installing league/flysystem-local (3.19.0): Extracting archive
- Installing nette/utils (v4.0.3): Extracting archive
- Installing nette/schema (v1.2.5): Extracting archive
- Installing dflydev/dot-access-data (v3.0.2): Extracting archive
- Installing league/config (v1.2.0): Extracting archive
- Installing league/commonmark (2.4.1): Extracting archive
- Installing laravel/serializable-closure (v1.3.2): Extracting archive
- Installing laravel/prompts (v0.1.13): Extracting archive
- Installing laravel/framework (v10.31.0): Extracting archive
- Installing symfony/yaml (v6.3.8): Extracting archive
- Installing laravel/sail (v1.26.0): Extracting archive
- Installing laravel/sanctum (v3.3.2): Extracting archive
- Installing nikic/php-parser (v4.17.1): Extracting archive
- Installing psy/psysh (v0.11.22): Extracting archive
- Installing laravel/tinker (v2.8.2): Extracting archive
- Installing hamcrest/hamcrest-php (v2.0.1): Extracting archive
- Installing mockery/mockery (1.6.6): Extracting archive
- Installing filp/whoops (2.15.4): Extracting archive
- Installing nunomaduro/collision (v7.10.0): Extracting archive
- Installing sebastian/version (4.0.1): Extracting archive
- Installing sebastian/type (4.0.0): Extracting archive
- Installing sebastian/recursion-context (5.0.0): Extracting archive
- Installing sebastian/object-reflector (3.0.0): Extracting archive
- Installing sebastian/object-enumerator (5.0.0): Extracting archive
- Installing sebastian/global-state (6.0.1): Extracting archive
- Installing sebastian/exporter (5.1.1): Extracting archive
- Installing sebastian/environment (6.0.1): Extracting archive
- Installing sebastian/diff (5.0.3): Extracting archive
- Installing sebastian/comparator (5.0.1): Extracting archive
- Installing sebastian/code-unit (2.0.0): Extracting archive
- Installing sebastian/cli-parser (2.0.0): Extracting archive
- Installing phpunit/php-timer (6.0.0): Extracting archive
- Installing phpunit/php-text-template (3.0.1): Extracting archive
- Installing phpunit/php-invoker (4.0.0): Extracting archive
- Installing phpunit/php-file-iterator (4.1.0): Extracting archive
- Installing theseer/tokenizer (1.2.1): Extracting archive
- Installing sebastian/lines-of-code (2.0.1): Extracting archive
- Installing sebastian/complexity (3.1.0): Extracting archive
- Installing sebastian/code-unit-reverse-lookup (3.0.0): Extracting archive
- Installing phpunit/php-code-coverage (10.1.7): Extracting archive
- Installing phar-io/version (3.2.1): Extracting archive
- Installing phar-io/manifest (2.0.3): Extracting archive
- Installing myclabs/deep-copy (1.11.1): Extracting archive
- Installing phpunit/phpunit (10.4.2): Extracting archive
- Installing spatie/backtrace (1.5.3): Extracting archive
- Installing spatie/flare-client-php (1.4.3): Extracting archive
- Installing spatie/ignition (1.11.3): Extracting archive
- Installing spatie/laravel-ignition (2.3.1): Extracting archive
44 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi

INFO Discovering packages.

laravel/sail .......................................................... DONE
laravel/sanctum ....................................................... DONE
laravel/tinker ........................................................ DONE
nesbot/carbon ......................................................... DONE
nunomaduro/collision .................................................. DONE
nunomaduro/termwind ................................................... DONE
spatie/laravel-ignition ............................................... DONE

82 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan vendor:publish --tag=laravel-assets --ansi --force

INFO No publishable resources for tag [laravel-assets].

> @php artisan key:generate --ansi

INFO Application key set successfully.