>백엔드 개발 >PHP 튜토리얼 >Laravel 5 프레임워크 시작하기 (1)_php 예제

Laravel 5 프레임워크 시작하기 (1)_php 예제

WBOY
WBOY원래의
2016-05-16 20:17:582206검색

Laravel 5 중국어 문서:

1. http://laravel-china.org/docs/5.0

2. http://www.golaravel.com/laravel/docs/5.0/

기본 조건

이 글에서는 귀하가 이미 완전히 구성된 PHP MySQL 운영 환경을 보유하고 있으며 PHP 웹사이트 운영에 대한 기본 지식을 이해하고 있다고 가정합니다. 이 튜토리얼을 따르면 로그인을 포함한 기본적이고 간단한 블로그 시스템을 얻을 수 있으며, 강력한 Laravel 플러그인과 작곡가 패키지(Laravel 플러그인도 작곡가 패키지입니다)를 사용하는 방법을 배우게 됩니다.

소프트웨어 버전: PHP 5.4, MySQL 5.1

이 기사는 PHP와 MVC 프로그래밍을 전혀 이해하지 못하는 사람들에게는 권장되지 않습니다. 이 글은 "단계별 따라하기" 튜토리얼이 아닙니다. 이 글에서는 Laravel의 실행 로직을 진정으로 이해하기 위해 크고 작은 몇 가지 숨겨진 작업을 해결하는 데 어느 정도의 노력을 기울여야 합니다.

1. 설치

라라벨을 배우시는 첫 단계부터 설치까지 막히시는 분들이 많습니다. 설치 튜토리얼이 복잡해서가 아니라 [잘 알려진 이유] 때문입니다. 여기에서 작곡가 전체 중국어 이미지를 추천합니다: http://pkg.phpcomposer.com/. "작성기 구성 파일을 수정"하여 구성하는 것이 좋습니다.

미러 구성이 완료된 후 웹 사이트를 배치하려는 디렉터리로 전환합니다(예: C:\wwwroot, /Library/WebServer/Documents/, /var/www/html, /etc/nginx/html 등) 실행 명령:

composer create-project laravel/laravel learnlaravel5

그런 다음 잠시 기다리면 현재 디렉터리에 learnlaravel5라는 폴더가 나타납니다.

그런 다음 웹 사이트 루트 디렉터리를 learnlaravel5/public으로 구성합니다.

구성 방법을 모른다면 온라인에서 구성 방법을 알아보는 것이 좋습니다. 포기하는 경우 'url' => 'http://localhost'의 29번째 줄을 하위 디렉터리 주소로 구성할 수 있습니다. ***/learnlaravel5/public 까지 구성해야 합니다.

브라우저를 사용하여 구성한 주소에 액세스하면 다음 화면이 표시됩니다(로컬에서 구성한 주소는 http://fuck.io:88 ).


2. 인증 시스템을 경험하고 설치를 완료하세요

——위 과정을 거쳐 Laravel 5가 성공적으로 설치되었나요?

—— 아니요 o(╯□╰)o

라우팅 파일 `learnlaravel5/app/Http/routes.php`의 코드 보기:

Route::get('/', 'WelcomeController@index');

Route::get('home', 'HomeController@index');

Route::controllers([
	'auth' => 'Auth\AuthController',
	'password' => 'Auth\PasswordController',
]);

코드에 있는 단서를 따라 http://fuck.io:88/home에 접속해 볼까요(도메인 이름을 직접 바꾸세요). 그런데 결국 로그인 페이지로 넘어가더군요?


예, Laravel에는 즉시 사용 가능한 인증 시스템이 제공되며 페이지도 작성되었습니다.

이메일 주소와 비밀번호를 마음대로 입력하고 클릭하여 로그인하면 다음 화면이 나타날 것입니다(Mac 또는 Linux에서).


왜 비어 있나요? 개발자 도구를 사용하여 이 요청의 상태 코드가 500인지 확인하세요. 이유는 무엇입니까?

`learnlaravel5/storage` 디렉토리에는 777 권한이 없기 때문입니다.

셸 명령 실행:

cd learnlaravel5

sudo chmod -R 777 storage

http://fuck.io:88/home을 다시 방문하여 다음 화면이 나타나면 원하는 대로 이메일과 비밀번호를 입력하세요.


축하합니다~ Laravel 5가 성공적으로 설치되었습니다!

미러링 구성을 원하지 않는 학생은 Laravel 세계에서 매우 유명한 An Zhengchao가 만든 설치 아티팩트를 사용할 수 있습니다: https://github.com/overtrue/ 최신 라라벨

3. 데이터베이스 생성 및 마이그레이션

Laravel 5에서는 데이터베이스 구성 위치를 `learnlaravel5/.env`로 변경했습니다. 이 파일을 열고 다음 4개 항목을 편집하여 올바른 정보로 변경합니다.

DB_HOST=localhost

DB_DATABASE=laravel5

DB_USERNAME=root

DB_PASSWORD=password

학습의 편의를 위해 laravel5라는 이름으로 새로운 데이터베이스를 생성하는 것이 좋습니다. 직접 운영하려면 루트 계정을 사용하는 것이 좋습니다.

Laravel은 인증 부분의 마이그레이션을 준비했습니다. 데이터베이스 마이그레이션 작업을 수행하려면 다음 명령을 실행하세요.

php artisan migrate

얻은 결과는 다음과 같습니다.


명령어 실행 시 오류가 발생하는 경우, 데이터베이스 연결 설정을 확인해주세요.

이제 데이터베이스 마이그레이션이 완료되었습니다. http://fuck.io:88/home을 열고 즐겁게 등록하고 로그인해 보세요.

4. 모델

다음으로 생산성을 실제로 향상시킬 수 있는 Laravel의 가장 강력한 부분인 Eloquent ORM에 대해 살펴보겠습니다. Cook의 말을 빌리자면: Goose girl이 최고입니다!

다음 명령을 실행하세요.

php artisan make:model Article

php artisan make:model Page

> Laravel 4 时代,我们使用 Generator 插件来新建 Model。现在,Laravel 5 已经把 Generator 集成进了 Artisan。

现在,Artisan 帮我们在 `learnlaravel5/app/` 下创建了两个文件 `Article.php` 和 `Page.php`,这是两个 Model 类,他们都继承了 Laravel Eloquent 提供的 Model 类 `Illuminate\Database\Eloquent\Model`,且都在 `\App` 命名空间下。这里需要强调一下,用命令行的方式创建文件,和自己手动创建文件没有任何区别,你也可以尝试自己创建这两个 Model 类。

Model 即为 MVC 中的 M,翻译为 模型,负责跟数据库交互。在 Eloquent 中,数据库中每一张表对应着一个 Model 类(当然也可以对应多个)。

如果你从其他框架转过来,可能对这里一笔带过的 Model 部分很不适应,没办法,是因为 Eloquent 实在太强大了啦,真的没什么好做的,继承一下 Eloquent 类就能实现很多很多功能了。

如果你想深入地了解 Eloquent,可以阅读系列文章:Laravel 5框架学习之Eloquent 关系

接下来进行 Article 和 Page 类对应的 articles 表和 pages表的数据库迁移,进入 `learnlaravel5/database/migrations` 文件夹。

在 ***_create_articles_table.php 中修改:

Schema::create('articles', function(Blueprint $table)
{
	$table->increments('id');
	$table->string('title');
	$table->string('slug')->nullable();
	$table->text('body')->nullable();
	$table->string('image')->nullable();
	$table->integer('user_id');
	$table->timestamps();
});

在 ***_create_pages_table.php 中修改:

Schema::create('pages', function(Blueprint $table)
{
	$table->increments('id');
	$table->string('title');
	$table->string('slug')->nullable();
	$table->text('body')->nullable();
	$table->integer('user_id');
	$table->timestamps();
});

然后执行命令:

php artisan migrate

成功以后, tables 表和 pages 表已经出现在了数据库里,去看看吧~

5. 数据库填充 Seeder

在 `learnlaravel5/database/seeds/` 下新建 `PageTableSeeder.php` 文件,内容如下:

<&#63;php

use Illuminate\Database\Seeder;
use App\Page;

class PageTableSeeder extends Seeder {

 public function run()
 {
  DB::table('pages')->delete();

  for ($i=0; $i < 10; $i++) {
   Page::create([
    'title'  => 'Title '.$i,
    'slug'  => 'first-page',
    'body'  => 'Body '.$i,
    'user_id' => 1,
   ]);
  }
 }

}

然后修改同一级目录下的 `DatabaseSeeder.php`中:

// $this->call('UserTableSeeder');

这一句为

$this->call('PageTableSeeder');

然后运行命令进行数据填充:

composer dump-autoloadphp artisan db:seed

去看看 pages 表,是不是多了十行数据?

本教程示例代码见:https://github.com/johnlui/Learn-Laravel-5

大家在任何地方卡住,最快捷的解决方式就是去看我的示例代码。

以上所述就是本文的全部内容了,希望能够对大家学习Laravel5框架有所帮助。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.