Trộn php và html

Sau khi cài đặt xong composer và Laravel, ta có thể tạo một dự án Laravel theo hai cách sau Tạo dự án với phiên bản Laravel ta cần

composer create-project laravel/laravel nameOfYourSite "~5.5.7"

Create project with new version

composer create-project laravel/laravel nameOfYourSite

Một số tập tin quan trọng

composer update
8
Chứa cài đặt và khóa của các dịch vụ sử dụng trong dự án. Ví dụ như. cơ sở dữ liệu, các dịch vụ lưu trữ, người gửi thư,
composer update
9
Chứa cài đặt và gói của Laravel mà chúng ta cần cài đặt

    "require": {
        "php": "^7.1.3",
        "aws/aws-sdk-php": "^3.108",
        "fideloper/proxy": "^4.0",
        "laravel/framework": "5.7.*",
        "laravel/socialite": "^4.1",
        "laravel/tinker": "^1.0",
        "laravelcollective/html": "^5.7",
        "league/flysystem-aws-s3-v3": "^1.0"
    },

php artisan key:generate
0
Chứa các cài đặt liên quan đến javascript và sử dụng quản lý npm, cấu hình các gói cài đặt thông qua lệnh npm

{
    "private": true,
    "scripts": {
        "dev": "npm run development",
        "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
        "watch": "npm run development -- --watch",
        "watch-poll": "npm run watch -- --watch-poll",
        "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
        "prod": "npm run production",
        "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
    },
    "devDependencies": {
        "axios": "^0.18",
        "bootstrap": "^4.0.0",
        "cross-env": "^5.1",
        "jquery": "^3.2",
        "laravel-mix": "^4.0.7",
        "lodash": "^4.17.5",
        "popper.js": "^1.12",
        "resolve-url-loader": "^2.3.1",
        "sass": "^1.15.2",
        "sass-loader": "^7.1.0",
        "vue": "^2.5.17",
        "vue-template-compiler": "^2.6.10"
    },
    "dependencies": {
        "bootstrap-scss": "^4.3.1"
    }
}

lưu ý khi tải dự án từ github về chạy thử

Chạy cài đặt lại các gói bằng lệnh

composer update

Tạo khóa ứng dụng

php artisan key:generate
Cài đặt chủ đề bootstrap, js, ghép

Cách 1. Sử dụng Bootstrap CDN
Thêm các thiết bị sau vào tệp bố cục gốc của dự án, ở đây là trang chủ. lưỡi. php

<html>
<head>
    <title>Home Page</title>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
</head>
<body>

<div class="container">
    <div class="content">
        <div class="title">Home Page</div>
        <div class="quote">Our Home page!</div>
    </div>
</div>

<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>

</body>
</html>

cách 2. Sử dụng các tệp Bootstrap được biên dịch sẵn
Chúng ta vào trang chủ của Bootstrap, tải các tập tin của nó về rồi thêm vào thư mục như sau

Trộn php và html

Trần Tuấn Anh @tuananh_vc

Theo dõi

829 28 24

Đã đăng vào ngày 23 tháng 9 năm 2019 3. 15 SA 9 phút đọc

2. 6K

0

2

Hướng dẫn cơ bản phát triển web với khung phát triển Laravel (Phần 1)

  • Report
  • Add to series of me

Bài đăng này đã không được cập nhật trong 3 năm

Tạo dự án

Sau khi cài đặt xong composer và Laravel, ta có thể tạo một dự án Laravel theo hai cách sau Tạo dự án với phiên bản Laravel ta cần

composer create-project laravel/laravel nameOfYourSite "~5.5.7"

Create project with new version

composer create-project laravel/laravel nameOfYourSite

Một số tập tin quan trọng

composer update
8
Chứa cài đặt và khóa của các dịch vụ sử dụng trong dự án. Ví dụ như. cơ sở dữ liệu, các dịch vụ lưu trữ, người gửi thư,
composer update
9
Chứa cài đặt và gói của Laravel mà chúng ta cần cài đặt

    "require": {
        "php": "^7.1.3",
        "aws/aws-sdk-php": "^3.108",
        "fideloper/proxy": "^4.0",
        "laravel/framework": "5.7.*",
        "laravel/socialite": "^4.1",
        "laravel/tinker": "^1.0",
        "laravelcollective/html": "^5.7",
        "league/flysystem-aws-s3-v3": "^1.0"
    },

php artisan key:generate
0
Chứa các cài đặt liên quan đến javascript và sử dụng quản lý npm, cấu hình các gói cài đặt thông qua lệnh npm

{
    "private": true,
    "scripts": {
        "dev": "npm run development",
        "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
        "watch": "npm run development -- --watch",
        "watch-poll": "npm run watch -- --watch-poll",
        "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
        "prod": "npm run production",
        "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
    },
    "devDependencies": {
        "axios": "^0.18",
        "bootstrap": "^4.0.0",
        "cross-env": "^5.1",
        "jquery": "^3.2",
        "laravel-mix": "^4.0.7",
        "lodash": "^4.17.5",
        "popper.js": "^1.12",
        "resolve-url-loader": "^2.3.1",
        "sass": "^1.15.2",
        "sass-loader": "^7.1.0",
        "vue": "^2.5.17",
        "vue-template-compiler": "^2.6.10"
    },
    "dependencies": {
        "bootstrap-scss": "^4.3.1"
    }
}

lưu ý khi tải dự án từ github về chạy thử

Chạy cài đặt lại các gói bằng lệnh

composer update

Tạo khóa ứng dụng

php artisan key:generate
Cài đặt chủ đề bootstrap, js, ghép

Cách 1. Sử dụng Bootstrap CDN
Thêm các thiết bị sau vào tệp bố cục gốc của dự án, ở đây là trang chủ. lưỡi. php

<html>
<head>
    <title>Home Page</title>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
</head>
<body>

<div class="container">
    <div class="content">
        <div class="title">Home Page</div>
        <div class="quote">Our Home page!</div>
    </div>
</div>

<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>

</body>
</html>

cách 2. Sử dụng các tệp Bootstrap được biên dịch sẵn
Chúng ta vào trang chủ của Bootstrap, tải các tập tin của nó về rồi thêm vào thư mục như sau

Thêm các thiết bị sau vào tệp bố cục gốc của dự án, ở đây là trang chủ. lưỡi. php

<html>
<head>
    <title>Home Page</title>
        <link rel="stylesheet" href="{!! asset('css/bootstrap.min.css') !!}">
</head>
<body>

<div class="container">
    <div class="content">
        <div class="title">Home Page</div>
        <div class="quote">Our Home page!</div>
    </div>
</div>

<script src="{!! asset('js/jquery-3.3.1.min.js') !!}"></script>
<script src="{!! asset('js/popper.min.js') !!}"></script>
<script src="{!! asset('js/bootstrap.min.js') !!}"></script>

</body>
</html>

Cách 3. Cài đặt qua npm Laravel Mix
Chúng ta sử dụng nó bằng cách định nghĩa gói tập tin. json as after

{
    "private": true,
    "scripts": {
        "dev": "npm run development",
        "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
        "watch": "npm run development -- --watch",
        "watch-poll": "npm run watch -- --watch-poll",
        "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
        "prod": "npm run production",
        "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
    },
    "devDependencies": {
        "axios": "^0.18",
        "bootstrap": "^4.0.0",
        "cross-env": "^5.1",
        "jquery": "^3.2",
        "laravel-mix": "^2.0",
        "lodash": "^4.17.5",
        "popper.js": "^1.12",
        "vue": "^2.5.7"
    }
}

Mở cmd từ thư mục gốc của dự án để chạy lệnh sau khi cài đặt Laravel Mix

npm install

Chúng ta viết một nhiệm vụ kết hợp mới trong webpack. pha trộn. js. Mặc định, chúng ta có thể tìm thấy các biên dịch đã được biên dịch từ ứng dụng. sass file to app. css và đóng gói tất cả tệp JS trong thư mục sau

composer create-project laravel/laravel nameOfYourSite
0

To run Mix task, ta using the command after

composer create-project laravel/laravel nameOfYourSite
1Cấu hình cơ sở dữ liệu

To create a login form, before the first to connect application with database. Cấu hình tệp nằm ở

php artisan key:generate
1, mở ra ta có thể thấy Laravel hỗ trợ kết nối 3 kiểu cơ sở dữ liệu.
php artisan key:generate
2và cấu hình kết nối mặc định với mysql
Trong bài viết này ta sẽ sử dụng DB mysql, bạn có thể thay đổi ngay trong tệp cấu hình
php artisan key:generate
1

composer create-project laravel/laravel nameOfYourSite
2

Hoặc nếu để ý ta sẽ thấy, Laravel đã cấu hình sẵn cho ta hàm

php artisan key:generate
4 để gọi đến các cấu hình trong tệp
php artisan key:generate
5 (nếu chưa có tệp này trong ứng dụng, bạn sao chép từ tệp
php artisan key:generate
6 rồi đổi tên đi). Làm như vậy để kết nối DB chỉ cần thay đổi tệp. env, real time

composer create-project laravel/laravel nameOfYourSite
3Di chuyển

1. Create file migration

Create migrations information

composer create-project laravel/laravel nameOfYourSite
4

Tạo di chuyển mới cho bảng

composer create-project laravel/laravel nameOfYourSite
5

Tạo bảng điều chỉnh bảng điều chỉnh

composer create-project laravel/laravel nameOfYourSite
6

2. Cách viết trong khi di chuyển tệp

chức năng lên(). Có tác dụng thực hiện di chuyển
Khi muốn tạo mới 1 cột thì sẽ viết trong hàm

php artisan key:generate
7
Như chúng ta thấy trong trường hợp cập nhật 1 cột, chúng ta sử dụng hàm
php artisan key:generate
8, muốn sử dụng hàm
php artisan key:generate
8 chúng ta phải cài đặt thêm tên gói là ________9____0
chức năng xuống (). Có tác dụng thực thi rollback lệnh (về trước đó)
Trong hàm này sẽ thực thi các lệnh đảo ngược với hàm
php artisan key:generate
7
Đối với việc tạo bảng mới, thì mặc định chức năng
<html>
<head>
    <title>Home Page</title>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
</head>
<body>

<div class="container">
    <div class="content">
        <div class="title">Home Page</div>
        <div class="quote">Our Home page!</div>
    </div>
</div>

<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>

</body>
</html>
2 của nó sẽ là xóa bảng đó đi bằng lệnh
<html>
<head>
    <title>Home Page</title>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
</head>
<body>

<div class="container">
    <div class="content">
        <div class="title">Home Page</div>
        <div class="quote">Our Home page!</div>
    </div>
</div>

<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>

</body>
</html>
3
Đối với việc sửa bảng đã sửa thì trong hàm down() phải viết các hàm ngược lại với hàm up()
Lược đồ mặt tiền chức năng. Facade là chức năng hỗ trợ để thực hiện các chức năng như tạo, cập nhật, xóa bảng
- Tạo bảng mới
<html>
<head>
    <title>Home Page</title>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
</head>
<body>

<div class="container">
    <div class="content">
        <div class="title">Home Page</div>
        <div class="quote">Our Home page!</div>
    </div>
</div>

<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>

</body>
</html>
4
-Chỉnh sửa bảng
<html>
<head>
    <title>Home Page</title>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
</head>
<body>

<div class="container">
    <div class="content">
        <div class="title">Home Page</div>
        <div class="quote">Our Home page!</div>
    </div>
</div>

<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>

</body>
</html>
5
- Đổi tên bảng. từ danh mục thành danh mục
<html>
<head>
    <title>Home Page</title>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
</head>
<body>

<div class="container">
    <div class="content">
        <div class="title">Home Page</div>
        <div class="quote">Our Home page!</div>
    </div>
</div>

<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>

</body>
</html>
6
- Xóa bảng
<html>
<head>
    <title>Home Page</title>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
</head>
<body>

<div class="container">
    <div class="content">
        <div class="title">Home Page</div>
        <div class="quote">Our Home page!</div>
    </div>
</div>

<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>

</body>
</html>
7
Các câu lệnh tạo bảng cấu trúc hoặc sử dụng trong Migrations
Cột sửa đổi
Tạo các điều kiện buộc cho các bảng
https. //viblo. asia/p/migration-trong-laravel-va-nhung-dieu-can-biet-ByEZkyEy5Q0

composer create-project laravel/laravel nameOfYourSite
7

Chú ý nếu không di chuyển mà không chạy được thì các bạn có thể tách ra làm 2 file migration để chạy
To drop a foreign ta used

<html>
<head>
    <title>Home Page</title>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
</head>
<body>

<div class="container">
    <div class="content">
        <div class="title">Home Page</div>
        <div class="quote">Our Home page!</div>
    </div>
</div>

<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>

</body>
</html>
8
Chúng ta nên để ý quy tắc đặt tên nước ngoài
<html>
<head>
    <title>Home Page</title>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
</head>
<body>

<div class="container">
    <div class="content">
        <div class="title">Home Page</div>
        <div class="quote">Our Home page!</div>
    </div>
</div>

<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>

</body>
</html>
9

3. Di chuyển một số câu lệnh

Chạy di chuyển

<html>
<head>
    <title>Home Page</title>
        <link rel="stylesheet" href="{!! asset('css/bootstrap.min.css') !!}">
</head>
<body>

<div class="container">
    <div class="content">
        <div class="title">Home Page</div>
        <div class="quote">Our Home page!</div>
    </div>
</div>

<script src="{!! asset('js/jquery-3.3.1.min.js') !!}"></script>
<script src="{!! asset('js/popper.min.js') !!}"></script>
<script src="{!! asset('js/bootstrap.min.js') !!}"></script>

</body>
</html>
0
Đặt lại di chuyển
Lệnh trên sẽ khôi phục toàn bộ cơ sở dữ liệu của bạn hay đúng hơn là chạy toàn bộ chức năng down() trong quá trình di chuyển tệp của bạn.
<html>
<head>
    <title>Home Page</title>
        <link rel="stylesheet" href="{!! asset('css/bootstrap.min.css') !!}">
</head>
<body>

<div class="container">
    <div class="content">
        <div class="title">Home Page</div>
        <div class="quote">Our Home page!</div>
    </div>
</div>

<script src="{!! asset('js/jquery-3.3.1.min.js') !!}"></script>
<script src="{!! asset('js/popper.min.js') !!}"></script>
<script src="{!! asset('js/bootstrap.min.js') !!}"></script>

</body>
</html>
1
Chạy lại di chuyển
Lệnh này Mục đích khôi phục toàn bộ cơ sở dữ liệu đồng thời chạy lại luôn toàn bộ các tệp di chuyển của bạn
<html>
<head>
    <title>Home Page</title>
        <link rel="stylesheet" href="{!! asset('css/bootstrap.min.css') !!}">
</head>
<body>

<div class="container">
    <div class="content">
        <div class="title">Home Page</div>
        <div class="quote">Our Home page!</div>
    </div>
</div>

<script src="{!! asset('js/jquery-3.3.1.min.js') !!}"></script>
<script src="{!! asset('js/popper.min.js') !!}"></script>
<script src="{!! asset('js/bootstrap.min.js') !!}"></script>

</body>
</html>
2
Lệnh này Mục đích rollback toàn bộ CSDL đồng thời chạy lại luôn toàn bộ các tập tin di chuyển đồng thời chạy tất cả các seeder
<html>
<head>
    <title>Home Page</title>
        <link rel="stylesheet" href="{!! asset('css/bootstrap.min.css') !!}">
</head>
<body>

<div class="container">
    <div class="content">
        <div class="title">Home Page</div>
        <div class="quote">Our Home page!</div>
    </div>
</div>

<script src="{!! asset('js/jquery-3.3.1.min.js') !!}"></script>
<script src="{!! asset('js/popper.min.js') !!}"></script>
<script src="{!! asset('js/bootstrap.min.js') !!}"></script>

</body>
</html>
3
Rollback di chuyển
<html>
<head>
    <title>Home Page</title>
        <link rel="stylesheet" href="{!! asset('css/bootstrap.min.css') !!}">
</head>
<body>

<div class="container">
    <div class="content">
        <div class="title">Home Page</div>
        <div class="quote">Our Home page!</div>
    </div>
</div>

<script src="{!! asset('js/jquery-3.3.1.min.js') !!}"></script>
<script src="{!! asset('js/popper.min.js') !!}"></script>
<script src="{!! asset('js/bootstrap.min.js') !!}"></script>

</body>
</html>
4
Với lệnh này, toàn bộ tập tin có lô mới nhất trong bảng di chuyển sẽ chạy tất cả các chức năng down() hay chính xác hơn là đảo ngược thay đổi mà nó tạo ra cho cơ sở dữ liệu
Nếu bạn không xác định được nội dung cho chức năng down, thì lệnh rollback coi như không có hiệu lực đồng nghĩa với việc di chuyển vẫn tồn tại trong cơ sở dữ liệu

máy gieo hạt

Cách 1. Tạo dữ liệu trực tiếp

Bước 1. Tạo 1 seeder mới cho bảng người dùng có tên là

<html>
<head>
    <title>Home Page</title>
        <link rel="stylesheet" href="{!! asset('css/bootstrap.min.css') !!}">
</head>
<body>

<div class="container">
    <div class="content">
        <div class="title">Home Page</div>
        <div class="quote">Our Home page!</div>
    </div>
</div>

<script src="{!! asset('js/jquery-3.3.1.min.js') !!}"></script>
<script src="{!! asset('js/popper.min.js') !!}"></script>
<script src="{!! asset('js/bootstrap.min.js') !!}"></script>

</body>
</html>
5
<html>
<head>
    <title>Home Page</title>
        <link rel="stylesheet" href="{!! asset('css/bootstrap.min.css') !!}">
</head>
<body>

<div class="container">
    <div class="content">
        <div class="title">Home Page</div>
        <div class="quote">Our Home page!</div>
    </div>
</div>

<script src="{!! asset('js/jquery-3.3.1.min.js') !!}"></script>
<script src="{!! asset('js/popper.min.js') !!}"></script>
<script src="{!! asset('js/bootstrap.min.js') !!}"></script>

</body>
</html>
6
Bước 2. Người dùngTableSeeder. php in the directory
<html>
<head>
    <title>Home Page</title>
        <link rel="stylesheet" href="{!! asset('css/bootstrap.min.css') !!}">
</head>
<body>

<div class="container">
    <div class="content">
        <div class="title">Home Page</div>
        <div class="quote">Our Home page!</div>
    </div>
</div>

<script src="{!! asset('js/jquery-3.3.1.min.js') !!}"></script>
<script src="{!! asset('js/popper.min.js') !!}"></script>
<script src="{!! asset('js/bootstrap.min.js') !!}"></script>

</body>
</html>
7

composer create-project laravel/laravel nameOfYourSite
8

Bước 3. Bây giờ chúng ta chỉ cần gọi lớp

<html>
<head>
    <title>Home Page</title>
        <link rel="stylesheet" href="{!! asset('css/bootstrap.min.css') !!}">
</head>
<body>

<div class="container">
    <div class="content">
        <div class="title">Home Page</div>
        <div class="quote">Our Home page!</div>
    </div>
</div>

<script src="{!! asset('js/jquery-3.3.1.min.js') !!}"></script>
<script src="{!! asset('js/popper.min.js') !!}"></script>
<script src="{!! asset('js/bootstrap.min.js') !!}"></script>

</body>
</html>
5 vào hàm run() trong file seeder gốc
Bước 4. Chúng ta sẽ có 2 cách chạy
Cách 1. Chỉ định trực tiếp lớp seeder cần chạy bằng lệnh
<html>
<head>
    <title>Home Page</title>
        <link rel="stylesheet" href="{!! asset('css/bootstrap.min.css') !!}">
</head>
<body>

<div class="container">
    <div class="content">
        <div class="title">Home Page</div>
        <div class="quote">Our Home page!</div>
    </div>
</div>

<script src="{!! asset('js/jquery-3.3.1.min.js') !!}"></script>
<script src="{!! asset('js/popper.min.js') !!}"></script>
<script src="{!! asset('js/bootstrap.min.js') !!}"></script>

</body>
</html>
9
cách 2. Chạy tất cả các seeder được gọi vào tệp seeder gốc
{
    "private": true,
    "scripts": {
        "dev": "npm run development",
        "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
        "watch": "npm run development -- --watch",
        "watch-poll": "npm run watch -- --watch-poll",
        "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
        "prod": "npm run production",
        "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
    },
    "devDependencies": {
        "axios": "^0.18",
        "bootstrap": "^4.0.0",
        "cross-env": "^5.1",
        "jquery": "^3.2",
        "laravel-mix": "^2.0",
        "lodash": "^4.17.5",
        "popper.js": "^1.12",
        "vue": "^2.5.7"
    }
}
0

cách 2. Tạo Nhà Máy Mô Hình

Chúng ta sẽ tiếp tục ví dụ với bảng người dùng bằng cách tạo Model Factory cho nó và cùng cảm nhận nhé
Bước 1. Tạo Model Factory cho người dùng bảng với tên

{
    "private": true,
    "scripts": {
        "dev": "npm run development",
        "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
        "watch": "npm run development -- --watch",
        "watch-poll": "npm run watch -- --watch-poll",
        "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
        "prod": "npm run production",
        "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
    },
    "devDependencies": {
        "axios": "^0.18",
        "bootstrap": "^4.0.0",
        "cross-env": "^5.1",
        "jquery": "^3.2",
        "laravel-mix": "^2.0",
        "lodash": "^4.17.5",
        "popper.js": "^1.12",
        "vue": "^2.5.7"
    }
}
1

composer create-project laravel/laravel nameOfYourSite
9

Bước 2. Sau khi hoàn thành bước 1, chúng ta sẽ được 1 tệp

{
    "private": true,
    "scripts": {
        "dev": "npm run development",
        "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
        "watch": "npm run development -- --watch",
        "watch-poll": "npm run watch -- --watch-poll",
        "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
        "prod": "npm run production",
        "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
    },
    "devDependencies": {
        "axios": "^0.18",
        "bootstrap": "^4.0.0",
        "cross-env": "^5.1",
        "jquery": "^3.2",
        "laravel-mix": "^2.0",
        "lodash": "^4.17.5",
        "popper.js": "^1.12",
        "vue": "^2.5.7"
    }
}
1 trong thư mục
{
    "private": true,
    "scripts": {
        "dev": "npm run development",
        "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
        "watch": "npm run development -- --watch",
        "watch-poll": "npm run watch -- --watch-poll",
        "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
        "prod": "npm run production",
        "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
    },
    "devDependencies": {
        "axios": "^0.18",
        "bootstrap": "^4.0.0",
        "cross-env": "^5.1",
        "jquery": "^3.2",
        "laravel-mix": "^2.0",
        "lodash": "^4.17.5",
        "popper.js": "^1.12",
        "vue": "^2.5.7"
    }
}
3
Tiếp theo chúng ta sẽ tạo dữ liệu, trong Model Factory đã có sẵn thư viện tạo dữ liệu giả mạo Faker

    "require": {
        "php": "^7.1.3",
        "aws/aws-sdk-php": "^3.108",
        "fideloper/proxy": "^4.0",
        "laravel/framework": "5.7.*",
        "laravel/socialite": "^4.1",
        "laravel/tinker": "^1.0",
        "laravelcollective/html": "^5.7",
        "league/flysystem-aws-s3-v3": "^1.0"
    },
0

Bước 3. Bây giờ trong hàm

{
    "private": true,
    "scripts": {
        "dev": "npm run development",
        "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
        "watch": "npm run development -- --watch",
        "watch-poll": "npm run watch -- --watch-poll",
        "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
        "prod": "npm run production",
        "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
    },
    "devDependencies": {
        "axios": "^0.18",
        "bootstrap": "^4.0.0",
        "cross-env": "^5.1",
        "jquery": "^3.2",
        "laravel-mix": "^2.0",
        "lodash": "^4.17.5",
        "popper.js": "^1.12",
        "vue": "^2.5.7"
    }
}
4 của lớp
{
    "private": true,
    "scripts": {
        "dev": "npm run development",
        "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
        "watch": "npm run development -- --watch",
        "watch-poll": "npm run watch -- --watch-poll",
        "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
        "prod": "npm run production",
        "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
    },
    "devDependencies": {
        "axios": "^0.18",
        "bootstrap": "^4.0.0",
        "cross-env": "^5.1",
        "jquery": "^3.2",
        "laravel-mix": "^2.0",
        "lodash": "^4.17.5",
        "popper.js": "^1.12",
        "vue": "^2.5.7"
    }
}
5 chúng ta sử dụng trình trợ giúp hàm
{
    "private": true,
    "scripts": {
        "dev": "npm run development",
        "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
        "watch": "npm run development -- --watch",
        "watch-poll": "npm run watch -- --watch-poll",
        "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
        "prod": "npm run production",
        "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
    },
    "devDependencies": {
        "axios": "^0.18",
        "bootstrap": "^4.0.0",
        "cross-env": "^5.1",
        "jquery": "^3.2",
        "laravel-mix": "^2.0",
        "lodash": "^4.17.5",
        "popper.js": "^1.12",
        "vue": "^2.5.7"
    }
}
6 với 2 đối số truyền vào

  • Các mô hình lớp cần tạo dữ liệu
  • Số bản ghi cần tạo
    "require": {
        "php": "^7.1.3",
        "aws/aws-sdk-php": "^3.108",
        "fideloper/proxy": "^4.0",
        "laravel/framework": "5.7.*",
        "laravel/socialite": "^4.1",
        "laravel/tinker": "^1.0",
        "laravelcollective/html": "^5.7",
        "league/flysystem-aws-s3-v3": "^1.0"
    },
1Mô hình kho lưu trữ

Trong các dự án Laravel, chúng tôi thường áp dụng mẫu thiết kế Repository Pattern để triển khai dự án

Repository Pattern là gì?


  • Repository Pattern là lớp trung gian giữa tầng Business Logic và Data Access, giúp truy cập dữ liệu chặt chẽ và bảo mật hơn
  • Repository đóng vai trò là lớp kết nối giữa tầng Business và Model của ứng dụng

Một số lý do chung ta nên sử dụng Repository Pattern

  • Một nơi duy nhất để thay đổi quyền truy cập dữ liệu cũng như xử lý dữ liệu
  • Một nơi duy nhất chịu trách nhiệm cho công việc ánh xạ các bảng vào đối tượng
  • Tăng tính bảo mật và rõ ràng cho mã
  • Rất dễ dàng để thay thế một Kho lưu trữ bằng một triển khai giả cho công việc thử nghiệm, vì vậy bạn không cần chuẩn bị một cơ sở dữ liệu có sẵn

Sử dụng Repository Pattern trong Laravel?

Tạo một lớp định nghĩa một Lớp giao diện chung cho các kho lưu trữ lớp, ở đây mình tạo

{
    "private": true,
    "scripts": {
        "dev": "npm run development",
        "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
        "watch": "npm run development -- --watch",
        "watch-poll": "npm run watch -- --watch-poll",
        "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
        "prod": "npm run production",
        "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
    },
    "devDependencies": {
        "axios": "^0.18",
        "bootstrap": "^4.0.0",
        "cross-env": "^5.1",
        "jquery": "^3.2",
        "laravel-mix": "^2.0",
        "lodash": "^4.17.5",
        "popper.js": "^1.12",
        "vue": "^2.5.7"
    }
}
7 trong
{
    "private": true,
    "scripts": {
        "dev": "npm run development",
        "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
        "watch": "npm run development -- --watch",
        "watch-poll": "npm run watch -- --watch-poll",
        "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
        "prod": "npm run production",
        "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
    },
    "devDependencies": {
        "axios": "^0.18",
        "bootstrap": "^4.0.0",
        "cross-env": "^5.1",
        "jquery": "^3.2",
        "laravel-mix": "^2.0",
        "lodash": "^4.17.5",
        "popper.js": "^1.12",
        "vue": "^2.5.7"
    }
}
8
https. //github. com/tuananh97/quickstart/blob/master/app/Repositories/EloquentRepository. php
Với mỗi Model, tạo một kho lưu trữ lớp để định nghĩa các phương thức. Ví dụ như

    "require": {
        "php": "^7.1.3",
        "aws/aws-sdk-php": "^3.108",
        "fideloper/proxy": "^4.0",
        "laravel/framework": "5.7.*",
        "laravel/socialite": "^4.1",
        "laravel/tinker": "^1.0",
        "laravelcollective/html": "^5.7",
        "league/flysystem-aws-s3-v3": "^1.0"
    },
2

Trong bộ điều khiển tương ứng với hàm bổ sung

{
    "private": true,
    "scripts": {
        "dev": "npm run development",
        "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
        "watch": "npm run development -- --watch",
        "watch-poll": "npm run watch -- --watch-poll",
        "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
        "prod": "npm run production",
        "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
    },
    "devDependencies": {
        "axios": "^0.18",
        "bootstrap": "^4.0.0",
        "cross-env": "^5.1",
        "jquery": "^3.2",
        "laravel-mix": "^2.0",
        "lodash": "^4.17.5",
        "popper.js": "^1.12",
        "vue": "^2.5.7"
    }
}
9 để khởi tạo kho lưu trữ sử dụng trong các chức năng như sau

    "require": {
        "php": "^7.1.3",
        "aws/aws-sdk-php": "^3.108",
        "fideloper/proxy": "^4.0",
        "laravel/framework": "5.7.*",
        "laravel/socialite": "^4.1",
        "laravel/tinker": "^1.0",
        "laravelcollective/html": "^5.7",
        "league/flysystem-aws-s3-v3": "^1.0"
    },
3Tham khảo

https. //viblo. asia/p/seeder-va-model-factory-trong-laravel-vyDZOx6Plwj https. //họclaravel. net/books/laravel/building-our-first-website https. //viblo. asia/p/tim-hieu-ve-repository-pattern-trong-laravel-part-ii-oZVRgl2EMmg5