«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как использовать механизм шаблонов Laravel Blade с проектом Pure Vanilla PHP?

Как использовать механизм шаблонов Laravel Blade с проектом Pure Vanilla PHP?

Опубликовано 31 июля 2024 г.
Просматривать:544

How to Use Laravel Blade Templating Engine with a Pure Vanilla PHP Project?

Сегодня я поставил перед собой задачу реализовать подход Laravel MVC (модель, представление, контроллер) с использованием чистого PHP. Чтобы решить эту проблему, я использовал стандартный механизм шаблонов Laravel Blade для части представления проекта, но без установки Laravel, поскольку мой проект представляет собой чисто ванильный PHP. Вот как я добился этой интеграции;

Я начал с установки пакета под названием Blade от JensSegers с помощью следующей команды Composer:

composer require jenssegers/blade

Этот пакет позволяет использовать шаблонизатор Blade как отдельный пакет, что делает его совместимым с любым проектом PHP, а не только с Laravel.

Затем я выполнил следующую команду, чтобы обновить зависимость освещения/просмотра пакета до версии 11.7.0, поскольку пакет не работает корректно с версиями ниже 11.7.0:

composer require illuminate/view:11.7.0

Затем я создал базу данных под названием «pdotest» с таблицей под названием «post», в которой есть столбцы «имя» и «тело». Я заполнил эту таблицу данными («это имя сообщения из базы данных, отображаемое с помощью механизма шаблонов Blade», «это тело сообщения из базы данных, отображаемое с помощью механизма шаблонов Blade») соответственно и подключился к нему, создав файл Database.php в корне моего проект и вставьте следующий код:

host;dbname=$this->database",$this->username,$this->password);

        // $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        // $conn = $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);


        return $conn;

    } catch (PDOException $e) {

        echo "Connection failed: " . $e->getMessage();

    }
}

}


?>

Затем я создал каталог под названием «Модели» для всех манипуляций с базой данных. Внутри этого каталога я создал файл Post.php для обработки операций с таблицей «post». В этом файле я определил метод post для получения сообщения по его идентификатору, как показано ниже:

conn = (new Database)->connect(); // Access directly (less secure)
}


public function getPost($id){

    $stmt= "SELECT * FROM $this->table WHERE id = :id";

    $stmt =  $this->conn->prepare($stmt);

    $stmt->bindParam(':id', $id, PDO::PARAM_INT);

    $stmt->execute();

    return $result = $stmt->fetch();

}


}


?>

Затем я создал index.php, который будет действовать как маршрутизатор, соединяя мой контроллер, представление и модель. Внутри него я импортировал все свои представления и пути кеширования, которые я создам для размещения своих представлений Blade и файлов кеша. Эти пути затем были переданы классу Blade, который входит в пакет Blade, который мы установили вначале. Затем я передал этот экземпляр Blade классу PostController, который создам, и вызвал метод post этого класса, чтобы в будущем получить сообщение по его идентификатору.

post();

?>

Затем я создал каталог «контроллеры» в корне моего проекта. Внутри него я получил переменную Blade из index.php (маршрутизатора), вызвал метод getPost модели Post, чтобы получить сообщение по его идентификатору, и передал это сообщение в представление Blade под названием «домашняя страница».

blade = $blade;
    }

  public function post(){

    $post = (new Post)->getPost(1);

    echo $this->blade->render('homepage', ['post' => $post]);


  }

}




?>

Затем я создал каталог под названием «views» и файл с именем homepage.blade.php в корне проекта. Внутри этого файла я просто отобразил имя сообщения, переданного из PostController, как показано ниже:

{{$post['name']}}

Наконец, я создал каталог «кэш» в корне моего проекта для хранения файлов кэша Blade, что помогает повысить производительность моего проекта.

Теперь, когда вы посетите http://localhost/laravel-blade-without-laravel/index.php в своем браузере, вы увидите имя сообщения, отображаемое как «это имя сообщения из базы данных, отображаемое с использованием шаблона Blade». двигатель."

Спасибо, что прочитали этот пост об использовании механизма шаблонов Laravel Blade в чистом PHP-проекте. Я надеюсь, что это поможет вам в вашем пути развития. Меня зовут Вазири Элли Амири, веб-разработчик из Моши, Танзания. Я специализируюсь на работе с Laravel и люблю помогать другим начать работу с этим мощным фреймворком. Не стесняйтесь обращаться, если у вас есть какие-либо вопросы или вам нужна дополнительная помощь.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/waziridev/how-to-use-laravel-blade-templating-engine-with-a-pure-vanilla-php-project-5h1a?1 Если есть какие-либо нарушения , пожалуйста, свяжитесь с Study_golang @163.comdelete
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3