На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

Урок 1. Установка Laravel, php, миграции



Итак, давайте все же научимся работать с Laravel. Laravel - это фреймворк веб-приложений PHP, предназначенный для разработки веб–приложений по архитектурному шаблону model–view-controller (MVC). Он имеет выразительный, элегантный синтаксис и предоставляет инструменты, необходимые для больших и надежных приложений.

Начем с того, что нам придется устанавливать Laravel дважды – на нашу рабочую машину и на реальный сервер. Вообще, в коммерческой разработке, очень желательно иметь одинаковые версии ОС, так что если что, то учитесь сразу работать с виртуальными машинами. Но для начала работы, для ознакомления, так сказать, можно и под видоусом начать разработку, а потом переносить уже на убунту реальную готовое. Новый опыт никогда не бывает лишним.

Сначала скачаем и поставим php 7.4. Качаем с windows.php.net – выбираем нужную версию и куда-нибудь распаковываем скачанный архив. Дальше перейдите в эту папку, найдите файл php.ini-development, скопируйте его и переименуйте исходный в php.ini. Примечание - в XAMPP есть тоже PHP, можно и оттуда взять.

Теперь надо скачать и установить XAMPP - берите последнюю версию, но лучше не с PHP 8. Этот будет у нас домашний сервер - апач, база - все в нем.

После этого нам нужен Composer. Берем его с getcomposer.org и в процессе установки показываем ему, где лежит предварительно скачанный PHP.



Далее запускаем XAMPP и переходим в папку htdocs

D:\> cd xampp
D:\xampp>cd htdocs
Создаем проект

composer create-project --prefer-dist laravel/laravel new_project
Переходим в папку

D:\xampp\htdocs> cd new_project
И запускаем

php artisan serve
И получаем ошибку:

PHP Warning: require(/home/matynjr/events/vendor/autoload.php): failed to open stream: No such file or directory in … on line 18
PHP Fatal error: require(): Failed opening required) …. on line 18
Фиксим её

composer update --ignore-platform-reqs
Пробуем запустить снова artisan и наконец-то видим стартовую страницу нашего Lavarel в браузере по адресу

http://localhost/new_project/public/


Отлично, теперь надо разобраться с базой данных. В Shell пишем

php artisan make:migration create_tasks_table --create=tasks
Кстати, командную строку надо запустить новую, так как в старой идет процесс сервера. После выполнения в папке database/migrations появятся новые файлы.

Теперь надо настроить подключение к базе данных в файле config/database.php (не забыв предварительно создать пользователя и базу данных)

'mysql' => [
            'driver' => 'mysql',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3307'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', 'forge'),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => true,
            'engine' => null,
            'options' => extension_loaded('pdo_mysql') ? array_filter([
                PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
            ]) : [],
        ],
Также не забудем и файл .env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3307
DB_DATABASE=forge
DB_USERNAME=forge
DB_PASSWORD=forge
Теперь уже можно

php artisan migrate
Все на месте:



Ну, почти все. Давайте сразу научимся изменять таблицу – вдруг мы забыли поле name:

php artisan make:migration add_name_colums_to_tasks_table --table=tasks
Эта команда создаст еще одну миграцию (файл). Теперь мы его немного подправим:

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class AddNameColumsToTasksTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('tasks', function (Blueprint $table) {
            //
        });
    }
	
	Schema::table('tasks', function(Blueprint $table){
		$table->string('name');
	});

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::table('tasks', function (Blueprint $table) {
            //
        });
    }
} 
Ну и в конце занятия создадим модель и на этом пока хватит.

php artisan make:model Task
В app/models появился файл task.php с таким содержимым

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Task extends Model
{
    use HasFactory;
}
На следующем уроке мы узнаем, что такое роутинг.



Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегистатьи IT, уроки по Laravel, laravel





Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.


VirtualBox и Ubuntu: советы
Буферизация файлов в Windows


© upread.ru 2013-2023
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.