Laravel은 가장 우아한 PHP 프레임워크입니다. PHP를 배우는 많은 친구들은 오랫동안 Laravel을 탐냈습니다. 처음부터 시작하여 기본 기능은 물론 데이터베이스 작업을 설치하고 사용하는 방법을 가르쳐 드리겠습니다. 오늘 우리의 PHP 중국어 웹사이트는 여러분에게 몇 가지 학습과 연습을 제공할 것입니다.
PHP 중국어 웹사이트에서 제공하는 비디오 튜토리얼을 배울 수 있습니다:
관련 링크: http://www.php.cn/ Course /282.html
2. Laravel 쉽게 배우기 - 고급 비디오 튜토리얼
관련 링크: http://www.php.cn/course/402.html
아래에서 시작하세요 Laravel 프레임워크를 사용해보세요!
Installation
Laravel 프레임워크는 Composer를 사용하여 설치 및 종속성 관리를 수행합니다. 아직 설치하지 않았다면 지금 Composer 설치를 시작하세요.
Composer를 설치한 후 다음 명령을 사용하여 명령줄을 통해 Laravel을 설치할 수 있습니다:
composer create-project laravel/laravel your-project-name
또는 Github 저장소에서 다운로드할 수 있습니다. 다음으로 Composer를 설치한 후 프로젝트 루트 디렉터리에서 Composer install 명령어를 실행합니다. 이 명령은 프레임워크의 종속 구성 요소를 다운로드하고 설치합니다.
쓰기 권한
프레임워크 설치 후, 프로젝트의 디렉토리 구조를 숙지해야 합니다. 앱 폴더에는 뷰, 컨트롤러, 모델과 같은 디렉터리가 포함되어 있습니다. 프로그램의 대부분의 코드는 이 디렉터리에 저장됩니다. app/config 폴더에서 일부 구성 항목을 확인할 수도 있습니다.
Routing
첫 번째 경로를 만드는 것부터 시작해 보겠습니다. Laravel에서 라우팅하는 간단한 방법은 클로저를 사용하는 것입니다. app/routes.php 파일을 열고 다음 코드를 추가하세요.
Route::get('users', function() { return 'Users!'; });
이제 웹 브라우저에 /users를 입력하면 사용자 출력이 표시됩니다. 엄청난! 첫 번째 경로가 생성되었습니다.
경로를 컨트롤러 클래스에 할당할 수도 있습니다. 예:
Create View
다음으로 사용자 데이터를 표시할 뷰를 만들어야 합니다. 보기는 app/views 폴더에 HTML 코드로 저장됩니다. 이 폴더에 두 개의 보기 파일(layout.blade.php 및 users.blade.php)을 배치합니다. 먼저,layout.blade.php 파일을 생성해 봅시다:
<html> <body> <h1>Laravel Quickstart</h1> @yield('content') </body> </html>
다음으로, users.blade.php 뷰를 생성합니다:
@extends('layout') @section('content') Users! @stop
여기의 구문은 여러분에게 생소할 수 있습니다. 우리는 Laravel의 템플릿 시스템인 Blade를 사용하고 있기 때문입니다. Blade는 소수의 정규 표현식만 사용하여 템플릿에 대한 원시 PHP 코드를 컴파일하기 때문에 매우 빠릅니다. Blade는 템플릿 상속과 같은 강력한 기능은 물론 if 및 for와 같은 몇 가지 일반적인 PHP 제어 구조 구문 설탕도 제공합니다. 자세한 내용은 블레이드 문서를 확인하세요.
이제 뷰가 표시되었으므로 /users 경로로 돌아가겠습니다. 사용자를 반환하는 대신 뷰를 사용합니다!:
Route::get('users', function() { return View::make('users'); });
아름답다! 이제 레이아웃에서 상속되는 뷰를 성공적으로 만들었습니다. 다음으로 데이터베이스 계층부터 시작하겠습니다.
Creating Migration
데이터를 보관할 테이블을 만들기 위해 Laravel 마이그레이션 시스템을 사용하겠습니다. 마이그레이션은 데이터베이스 변경 사항을 설명하므로 팀 구성원과 쉽게 공유할 수 있습니다.
먼저 데이터베이스 연결을 구성합니다. app/config/database.php 파일에서 모든 데이터베이스 연결 정보를 구성할 수 있습니다. 기본적으로 Laravel은 SQLite를 사용하도록 구성되어 있으며 SQLite 데이터베이스는 app/database 디렉터리에 저장됩니다. 데이터베이스 구성 파일의 드라이버 옵션을 mysql로 수정하고 mysql 연결 정보를 구성할 수 있습니다.
다음으로 마이그레이션을 생성하기 위해 Artisan CLI를 사용하겠습니다. 프로젝트 루트 디렉터리의 터미널에서 다음 명령을 실행합니다.
php artisan migrate:make create_users_table
그런 다음 app/database/migrations 디렉터리에서 생성된 마이그레이션 파일을 찾습니다. 이 파일에는 up 및 down이라는 두 가지 메서드가 있는 클래스가 포함되어 있습니다. up 메소드에서는 데이터베이스 테이블에 대한 수정 사항의 이름을 지정하고 down 메소드에서는 이를 제거하기만 하면 됩니다.
다음과 같이 마이그레이션을 정의하겠습니다.
public function up() { Schema::create('users', function($table) { $table->increments('id'); $table->string('email')->unique(); $table->string('name'); $table->timestamps(); }); } public function down() { Schema::drop('users'); }
그런 다음 터미널을 사용하여 프로젝트 루트 디렉터리에서 migration 명령을 실행하여 마이그레이션을 실행합니다.
php artisan migrate
마이그레이션을 롤백하려면 마이그레이션을 실행할 수 있습니다. 롤백 명령. 이제 데이터베이스 테이블이 있으므로 데이터를 추가해 보겠습니다.
Eloquent ORM
Laravel 提供非常棒的 ORM:Eloquent。如果你使用过 Ruby on Rails 框架,你会发现 Eloquent 很相似,因为它遵循数据库交互的 ActiveRecord ORM 风格。
首先,让我们来定义个模型。ELoquent 模型可以用来查询相关数据表,以及表内的某一行。别着急,我们很快会谈及!模型通常存放在 app/models 目录。让我们在该目录定义个 User.php 模型,如:
class User extends Eloquent {}
注意我们并没有告诉 Eloquent 使用哪个表。Eloquent 有多种约定, 一个是使用模型的复数形式作为模型的数据库表。非常方便!
使用你喜欢的数据库管理工具,插入几行数据到 users 表,我们将使用 Eloquent 取得它们并传递到视图中。
现在我们修改我们 /users 路由如下:
Route::get('users', function() { $users = User::all(); return View::make('users')->with('users', $users); });
让我们来看看该路由。首先,User 模型的 all 方法将会从 users 表中取得所有记录。接下来,我们通过 with 方法将这些记录传递到视图。with 方法接受一个键和一个值,那么该值就可以在视图中使用了。
激动啊。现在我们准备将用户显示在我们视图!
显示数据
现在我们视图中已经可以访问 users 类,我们可以如下显示它们:
@extends('layout') @section('content') @foreach($users as $user) <p>{{ $user->name }}</p> @endforeach @stop
你可以发现没有找到 echo 语句。当使用 Blade 时,你可以使用两个花括号来输出数据。非常简单,你现在应该可以通过 /users 路由来查看到用户姓名作为响应输出。
下面来介绍一下如何操作数据库:
一、读/写连接
有时您可能希望使用一个SELECT语句的数据库连接,,另一个用于插入、更新和删除语句。Laravel使这微风,将始终使用正确的连接是否使用原始查询,查询生成器或雄辩的ORM。
二、运行查询
一旦你已经配置了数据库连接,你可以使用DB运行查询类。
运行一个Select查询
$results = DB::select('select * from users where id = ?', array(1));
结果的选择方法总是返回一个数组。
运行一个Insert语句
DB::insert('insert into users (id, name) values (?, ?)', array(1, 'Dayle'));
运行一个更新语句
DB::update('update users set votes = 100 where name = ?', array('John'));
运行一个Delete语句
DB::delete('delete from users');
注意:update和delete语句返回的行数的影响操作。
运行一个通用声明
DB::statement('drop table users');
查询事件监听
你可以查询事件监听使用DB::听方法:
DB::listen(function($sql, $bindings, $time){ //});
三、数据库事务
运行在一个数据库事务的一组操作,您可以使用事务方法:
DB::transaction(function(){ DB::table('users')->update(array('votes' => 1)); DB::table('posts')->delete();});
注意:在事务抛出的任何异常关闭将导致自动事务将回滚
有时你可能需要开始一个事务:
DB::beginTransaction();
你可以通过回滚事务回滚方法:
DB::rollback();
最后,您可以通过提交方法:提交一个事务
DB::commit();
四、访问连接
当使用多个连接,你可以访问它们通过DB::连接方法:
$users = DB::connection('foo')->select(...);
你也可以访问原始的、潜在的PDO实例:
$pdo = DB::connection()->getPdo();
有时你可能需要重新连接到一个给定的数据库:
DB::reconnect('foo');
如果你需要断开从给定的数据库将超过底层PDO实例'smax_connections限制,使用断开连接方法:
DB::disconnect('foo');
五、查询日志
默认情况下,Laravel日志保存在内存的所有查询运行当前的请求。然而,在某些情况下,例如当插入的行数,这可能会导致应用程序使用多余的内存。禁用日志,你可以使用disableQueryLog方法:
DB::connection()->disableQueryLog();
o得到一组执行的查询,您可以使用getQueryLog方法:
$queries = DB::getQueryLog();
相关推荐: