>php教程 >PHP开发 >Laravel은 사용자 등록 및 로그인을 구현합니다.

Laravel은 사용자 등록 및 로그인을 구현합니다.

高洛峰
高洛峰원래의
2016-12-27 10:43:533556검색

Laravel은 가장 우아한 PHP 프레임워크입니다. PHP를 배우는 많은 친구들이 Laravel을 탐내고 있습니다. 오늘 여러분의 소망을 실현해 보세요. 처음부터 시작하여 Laravel을 사용하여 웹 애플리케이션의 가장 일반적인 등록 및 로그인 기능을 구현해 봅시다! 모든 강좌 소스 코드는 Github에 있습니다: laravel-start. Race Start!

먼저 이 강좌에 필요한 것이 무엇인지 명확히 합시다:

Laravel 4.2
Bootstrap 3.3
Laravel은 우리가 관심을 갖는 핵심 부분이며 Bootstrap은 일부 프런트 엔드 CSS 스타일을 빠르게 설정하는 데 사용됩니다.

1. Laravel 설치

간략한 설명을 마친 후 다음 단계로 넘어가서 Laravel을 설치해 보겠습니다. 여기에서는 명령줄 터미널을 열고 다음을 실행합니다.

cd Sites

Sites는 웹 애플리케이션의 루트 디렉터리입니다. 필요에 따라 이를 자신의 루트 디렉터리로 변경한 후 실행할 수 있습니다.

composer create-project laravel/laravel laravel

Laravel은 애플리케이션 디렉터리의 이름입니다. 당신이 좋아하는 이름을 선택할 수 있습니다. 위 명령을 실행한 후 잠시 기다리세요(결국 중국에서는 인터넷 속도가 큰 문제입니다). 설치 후에는 다음 디렉터리를 얻게 됩니다:

Laravel은 사용자 등록 및 로그인을 구현합니다.

주요 작업 세 개의 디렉토리: 모델, 컨트롤러, 뷰: 이것이 MVC의 구성입니다!

2. Bootstrap

을 설치한 다음 명령줄에서 실행합니다.

cd laravel/public/packages

여기서 laravel은 위의 다른 방법을 사용한 경우 응용 프로그램 디렉터리에 해당합니다. 설치에 따라 이름을 바꾸십시오. Bootstrap을 설치하려면 패키지 디렉터리로 이동하여 명령줄에서 직접 실행하세요.

bower install bootstrap

이 방법이 더 빠르며, 다운로드한 후에는 최신 안정 버전의 Bootstrap을 얻을 수 있습니다. 패키지 디렉터리의 Bower_comComponents/bootstrap/dist/에는 개발 과정에서 자주 사용하는 Bootstrap의 css, js 및 글꼴과 세 가지 스타일 파일, js 및 글꼴 파일이 포함되어 있습니다. 성공하면 다음이 표시됩니다.

Laravel은 사용자 등록 및 로그인을 구현합니다.

참고: 여기에 사용된 도구 모음은 일부 프런트엔드 패키지 관리를 담당합니다.
이제 예비 작업이 준비되었습니다. 하지만 다음 단계로 진행하기 전에 먼저 laravel/app/storage 디렉터리에 해당 쓰기 권한이 있는지 확인해야 하므로 bower를 설치한 후 명령줄을 건드리지 않은 경우 다음을 직접 전달할 수 있습니다. 🎜>

cd ../../
laravel 디렉터리로 돌아가서 다음을 실행합니다.

chmod -R 755 app/storage
이 단계가 완료되면 실제 개발 단계로 들어갈 수 있습니다.

3. 데이터베이스 구성 및 테이블 생성:

구성을 시작하기 전에 laravel 애플리케이션용 데이터베이스를 생성해야 합니다.

Laravel은 사용자 등록 및 로그인을 구현합니다.

그런 다음 편집기에서 app/config/database.php 파일을 열고 다음과 같은 해당 데이터베이스 구성 항목을 입력합니다.

'default' => 'mysql',
// 数据库连接
'connections' => array(
    'mysql' => array(
        'driver'    => 'mysql',
        'host'      => '127.0.0.1',
        'database'  => 'laravel-start',
        'username'  => 'root',
        'password'  => '',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
    ),
데이터베이스에 연결한 후, 또한 Users 테이블을 데이터베이스에 직접 생성할 수도 있고, Laravel의 장인을 사용하여 테이블을 구축하고 Laravel 마이그레이션에 대해 조금 배울 수도 있습니다. 다음 명령문을 실행합니다:

php artisan migration:make create-users-table

위 명령은 마이그레이션 파일을 생성합니다(파일은 app/database/migrations 디렉터리에 있음). 이 파일은 create-users -table입니다. 그러면 방금 생성한 마이그레이션 파일을 편집하여 Users 테이블을 생성할 수 있습니다.

public function up() {
       Schema::create('users', function($table){
        $table->increments('id');
        $table->string('username', 20);
        $table->string('email', 100)->unique();
        $table->string('password', 64);
        $table->string('remember_token',62)->default('default');
        $table->timestamps();
        });
}
위 메소드는 laravel의 Schema Builder 클래스를 사용합니다. 위 코드는 사용자 테이블을 생성하기 위해 up() 메소드를 사용합니다: id auto-increment, username length 20 이내. , 이메일 길이는 100 이내이고 고유하며, 비밀번호 길이는 64 이내이고, Remember_token은 로그인 시 더 편리하고 실용성을 위해 사용됩니다. Laravel은 자동으로 토큰 값을 채우지만 처음에는 기본값인 타임스탬프를 설정해야 합니다. 현재 타임스탬프. 여기서 주의해야 할 점은 언젠가 Users 테이블을 삭제해야 하는 경우를 대비해 down()에 다음 코드를 추가하는 것이 가장 좋다는 것입니다.

public function down()
{
    Schema::drop('users');
}
위 작업을 수행한 후 다음 마법 명령을 실행합니다.

php artisan migrate
그림과 진실이 있습니다.

Laravel은 사용자 등록 및 로그인을 구현합니다.

드디어 서곡을 마치고 정식으로 라라벨에 올 수 있게 되었습니다.

4. 서비스를 시작하고 사용해 보세요.

laravel 디렉터리에서 직접 실행:

php artisan serve
브라우저를 열고 localhost:8000을 입력하고 Enter 키를 누르면 빙고!

이 지점에 성공적으로 도달했다면 먼저 30초 동안 박수를 보내주세요. 축하합니다. Laravel의 문에 들어오셨습니다. 우리는 하나씩 더 많은 놀라움을 가지고 찾아올 것입니다...

5. 공개 뷰 만들기

好了,我们现在开始了,首先在app/views/文件夹下创建一个layouts文件夹,再再这个文件夹下新建一个php文件,命名为main.blade.php,在这个文件里写上下面这些代码:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>发现Laravel 4之美</title>
    </head>
    <body>
    </body>
</html>

PS:layouts文件夹通常用来存放视图文件的功用部分,比如一些网页的头部

和尾部
,这里就是存放了头部
部分
感觉main.blade.php的名字很奇怪?不用担心,Laravel的视图文件命名遵循filename.blade.php的规则,因为Laravel是用Blade这个模板引擎解析的,你不用深究,就照着上面的名字规则来命名视图文件就OK

为视图文件添加CSS样式:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>发现Laravel 4之美</title>
       {{HTML::style(&#39;packages/bower_components/bootstrap/dist/css/bootstrap.min.css&#39;) }}
        {{ HTML::style(&#39;css/main.css&#39;)}}
    </head>
    <body>
    </body>
</html>

没错,就是在原来的main.blade.php的基础上添加两行代码;然后我们来创建我们的main.css,这个主要是用来放我们自己定义的样式。在public文件夹下创建css文件夹,在css文件夹创建main.css文件,大功告成。

添加导航栏。在main.blade.php文件的

标签中加上以下代码:
<body>
        <div class="navbar navbar-inverse navbar-fixed-top">
            <div class="container">
                <div class="navbar-header">
                    <a class="navbar-brand hidden-sm" href="/">Laravel新手上路</a>
                </div>
                <ul class="nav navbar-nav navbar-right hidden-sm">
                    <li>{{ HTML::link(&#39;users/register&#39;, &#39;注册&#39;) }}</li>
                    <li>{{ HTML::link(&#39;users/login&#39;, &#39;登陆&#39;) }}</li>
                </ul>
            </div>
        </div>
</body>

上面只是引用了一些简单的Bootstrap的class,也没什么难的,不用伤心。

到这里基本的功用部分就结束了,但是我们的追求从不会这么low,所以为了更好地与用户交互,我们希望在用户进行某个操作之后给出一些反馈,比如注册成功的时候说:少年,你已成功注册本站,恭喜恭喜。等,于是乎,我们再为main.blade.php添加一点点代码:

        <div class="container">
            @if(Session::has(&#39;message&#39;))
            <p class="alert">{{ Session::get(&#39;message&#39;) }}</p>
            @endif
        </div>

为了现实这些反馈信息给用户,我们得使用Session::get('message')方法,当然,我们得首先从逻辑上判断一下这个message是否存在,所以这里用了一个简单的if判断。

在blade引擎的视图中if 的使用格式是

@if(conditions) 
#code...
@endif

到这里就结束了么?NO,如果到这里就结束的话,其他的视图文件是怎么插入main.blade.php的

之间的呢?所以,不要忘了还有一个重要的事:{{ $content }},于是乎,上面的代码就变成了这样:
        <div class="container">
        @if(Session::has(&#39;message&#39;))
        <p class="alert">{{ Session::get(&#39;message&#39;) }}</p>
        @endif
        {{ $content }}
        </div>

{{ $content }}在这里就是表示其他的视图文件内容,你可以在理解上将其他的视图当作一个字符串来理解,只不过这个字符串很长,而且恰好包含了HTML标签而已。下面你将体会到这种想法。

创建完我们的公用视图main.blade.php后,我们先来为main.css添加我们的CSS样式:

body {
     padding-top: 60px;
 } 
.form-signup, .form-signin {
     margin: 0 auto;
 }

因为我们在main.blade.php文件中使用了

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