Laravel 5 框架入门(三),laravel框架入门
Laravel 5 框架入门(三),laravel框架入门
本篇教程中,我们将利用 Laravel 5 自带的开箱即用的 Auth 系统对我们的后台进行权限验证,并构建出前台页面,对 Pages 进行展示。
1. 权限验证
后台地址为 http://localhost:88/admin ,我们的所有后台操作都将在此页面或其子页面下进行。利用 Laravel 5 提供的 Auth,我们只需要改动很少部分的路由代码便可以实现权限验证功能。
首先,将路由组的代码改为:
复制代码 代码如下:
Route::group(['prefix' => 'admin', 'namespace' => 'Admin', 'middleware' => 'auth'], function()
{
Route::get('/', 'AdminHomeComtroller@index');
Route::resource('pages', 'PagesController');
});
上面代码中只有一处变化:给 `Route::group()` 的第一个参数(一个数组)增加了一项 `'middleware' => 'auth'`。现在访问 http://localhost:88/admin ,应该会跳转到登陆页面。如果没有跳转,也不要惊慌,从右上角退出,重新进入即可。
我们的个人博客系统并不想让人随便注册,下面我们将改动部分路由代码,只保留基本的登录、注销功能。
删掉:
复制代码 代码如下:
Route::controllers([
'auth' => 'Auth\AuthController',
'password' => 'Auth\PasswordController',
]);
增加:
复制代码 代码如下:
Route::get('auth/login', 'Auth\AuthController@getLogin');
Route::post('auth/login', 'Auth\AuthController@postLogin');
Route::get('auth/logout', 'Auth\AuthController@getLogout');
带有权限验证的最小化功能的后台已经完成,这个后台目前只管理 Page(页面)这一种资源。接下来我们将构建前台页面,把 Pages 展示出来。
2. 构建首页
先整理路由代码,将路由的最上面的两行:
复制代码 代码如下:
Route::get('/', 'WelcomeController@index');
Route::get('home', 'HomeController@index');
改成:
复制代码 代码如下:
Route::get('/', 'HomeController@index');
我们将直接使用 HomeController 来支撑我们的前台页面展示。
此时可以删除 learnlaravel5/app/Http/Controllers/WelcomeController.php 控制器文件和 learnlaravel5/resources/views/welcome.blade.php 视图文件。
修改 learnlaravel5/app/Http/Controllers/HomeController.php 为:
<?php namespace App\Http\Controllers; use App\Page; class HomeController extends Controller { public function index() { return view('home')->withPages(Page::all()); } }
控制器构造完成。
`view('home')->withPages(Page::all())` 这句话实现以下功能:
渲染 learnlaravel5/resources/views/home.blade.php 视图文件
把变量 $pages 传进视图,$pages = Page::all()
Page::all() 调用的是 Eloquent 中的 all() 方法,返回 pages 表中的所有数据。
接下来我们开始写视图文件:
首先,我们将创建一个前端页面的统一的外壳,即 `
` 部分及 `#footer` 部分。新建 learnlaravel5/resources/views/_layouts/default.blade.php 文件(文件夹请自行创建):<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Learn Laravel 5</title> <link href="/css/app.css" rel="stylesheet"> <!-- Fonts --> <link href='http://fonts.useso.com/css?family=Roboto:400,300' rel='stylesheet' type='text/css'> </head> <body> <div class="container" style="margin-top: 20px;"> @yield('content') <div id="footer" style="text-align: center; border-top: dashed 3px #eeeeee; margin: 50px 0; padding: 20px;"> ©2015 <a href="http://lvwenhan.com">JohnLui</a> </div> </div> </body> </html>
修改 learnlaravel5/resources/views/home.blade.php 文件为:
@extends('_layouts.default') @section('content') <div id="title" style="text-align: center;"> <h1 id="Learn-Laravel">Learn Laravel 5</h1> <div style="padding: 5px; font-size: 16px;">{{ Inspiring::quote() }}</div> </div> <hr> <div id="content"> <ul> @foreach ($pages as $page) <li style="margin: 50px 0;"> <div class="title"> <a href="{{ URL('pages/'.$page->id) }}"> <h4 id="page-title">{{ $page->title }}</h4> </a> </div> <div class="body"> <p>{{ $page->body }}</p> </div> </li> @endforeach </ul> </div> @endsection
第一行 `@extends('_layouts.default')` 代表这个页面是 learnlaravel5/resources/views/_layouts/default.blade.php 的子视图。此时 Laravel 的 视图渲染系统会首先载入父视图,再将此视图中的 @section('content') 里面的内容放入到父视图中的 @yield('content') 处进行渲染。
访问 http://localhost:88/ ,可以得到如下页面:
2. 构建 Page 展示页
首先增加路由。在路由文件的第一行下面增加一行:
复制代码 代码如下:
Route::get('pages/{id}', 'PagesController@show');
新建控制器 learnlaravel5/app/Http/Controllers/PagesController.php,负责单个 page 的展示:
<?php namespace App\Http\Controllers; use App\Page; class PagesController extends Controller { public function show($id) { return view('pages.show')->withPage(Page::find($id)); } }
新建视图 learnlaravel5/resources/views/pages/show.blade.php 文件:
@extends('_layouts.default') @section('content') <h4> <a href="/">⬅️返回首页</a> </h4> <h1 id="page-title">{{ $page->title }}</h1> <hr> <div id="date" style="text-align: right;"> {{ $page->updated_at }} </div> <div id="content" style="padding: 50px;"> <p> {{ $page->body }} </p> </div> @endsection
全部完成,检验成果:点击首页之中任意一篇文章的标题,进入文章展示页,你会看到以下页面:
至此,前台展示页面全部完成,教程三结束。
以上所述就是本文的全部内容了,希望能够对大家学习Laravel5框架有所帮助。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Il existe des différences dans les performances des frameworks PHP dans différents environnements de développement. Les environnements de développement (tels que les serveurs Apache locaux) souffrent de performances de framework inférieures en raison de facteurs tels que les performances des serveurs locaux et les outils de débogage inférieurs. En revanche, un environnement de production (tel qu'un serveur de production entièrement fonctionnel) avec des serveurs plus puissants et des configurations optimisées permet au framework de fonctionner nettement mieux.

Le choix du framework PHP dépend des besoins du projet et des compétences du développeur : Laravel : riche en fonctionnalités et en communauté active, mais a une courbe d'apprentissage abrupte et des frais généraux élevés en termes de performances. CodeIgniter : léger et facile à étendre, mais a des fonctionnalités limitées et moins de documentation. Symfony : Communauté modulaire et forte, mais problèmes de performances complexes. ZendFramework : de niveau entreprise, stable et fiable, mais volumineux et coûteux en licence. Slim : micro-framework, rapide, mais avec des fonctionnalités limitées et une courbe d'apprentissage abrupte.

Avantages de la combinaison du framework PHP avec des microservices : Évolutivité : étendez facilement l'application, ajoutez de nouvelles fonctionnalités ou gérez plus de charge. Flexibilité : les microservices sont déployés et maintenus de manière indépendante, ce qui facilite les modifications et les mises à jour. Haute disponibilité : la défaillance d'un microservice n'affecte pas les autres parties, garantissant une disponibilité plus élevée. Cas pratique : Déployer des microservices à l'aide de Laravel et Kubernetes Étapes : Créer un projet Laravel. Définissez le contrôleur de microservice. Créez un fichier Docker. Créez un manifeste Kubernetes. Déployez des microservices. Testez les microservices.

L'intégration des frameworks PHP avec DevOps peut améliorer l'efficacité et l'agilité : automatiser les tâches fastidieuses, libérer le personnel pour qu'il se concentre sur les tâches stratégiques, raccourcir les cycles de publication, accélérer la mise sur le marché, améliorer la qualité du code, réduire les erreurs, améliorer la collaboration des équipes interfonctionnelles et décomposer silos de développement et d’exploitation

Utilisez un framework PHP pour intégrer l'intelligence artificielle (IA) afin de simplifier l'intégration de l'IA dans les applications Web. Framework recommandé : Laravel : léger, efficace et puissant. CodeIgniter : Simple et facile à utiliser, adapté aux petites applications. ZendFramework : Framework de niveau entreprise avec des fonctions complètes. Méthode d'intégration de l'IA : Modèle d'apprentissage automatique : effectuer des tâches spécifiques. AIAPI : fournit des fonctionnalités prédéfinies. Bibliothèque AI : gère les tâches d’IA.

Meilleur framework de microservices PHP : Symfony : flexibilité, performances et évolutivité, fournissant une suite de composants pour la création de microservices. Laravel : se concentre sur l'efficacité et la testabilité, fournit une interface API propre et prend en charge les services sans état. Slim : minimaliste, rapide, fournit un système de routage simple et un constructeur de corps intermédiaire en option, adapté à la création d'API hautes performances.

Dans l'architecture de microservices PHP, la cohérence des données et la gestion des transactions sont cruciales. Le framework PHP fournit des mécanismes pour implémenter ces exigences : utilisez des classes de transaction, telles que DB::transaction dans Laravel, pour définir les limites des transactions. Utilisez un framework ORM, tel que Doctrine, pour fournir des opérations atomiques telles que la méthode lock() afin d'éviter les erreurs de concurrence. Pour les transactions distribuées, pensez à utiliser un gestionnaire de transactions distribuées tel que Saga ou 2PC. Par exemple, les transactions sont utilisées dans des scénarios de boutique en ligne pour garantir la cohérence des données lors de l'ajout à un panier. Grâce à ces mécanismes, le framework PHP gère efficacement les transactions et la cohérence des données, améliorant ainsi la robustesse des applications.

Le potentiel d'application de l'intelligence artificielle (IA) dans le framework PHP comprend : Traitement du langage naturel (NLP) : pour analyser du texte, identifier les émotions et générer des résumés. Traitement d'image : utilisé pour identifier les objets de l'image, la détection des visages et le redimensionnement. Apprentissage automatique : pour la prédiction, la classification et le clustering. Cas pratiques : chatbots, recommandations personnalisées, détection de fraude. L’intégration de l’IA peut améliorer les fonctionnalités d’un site Web ou d’une application, en offrant de nouvelles fonctionnalités puissantes.
