ước 2. Chạy lệnh b n dưới để cài đặt Laravel
ước 3. Sau khi nhấn Enter thì đoạn mã lệnh chạy và kết thúc cài đặt Laravel
3.1.2. Cấu trúc
Cấu trúc của m t website xây dựng bằng Laravel framework dự theo mô hình MVC (Model-View-Controller) .
- Cấu trúc MVC trong Laravel framework
Controller xử l các request của người dùng và truy xuất dữ liệu, bằng cách tận dụng các odel.
Model tương tác với database và truy xuất các th ng tin từ đối tượng của bạn.
Có thể bạn quan tâm!
- B Cục Cơ Bản Của Html Trên Một Trang Web
- Biểu Đồ Trường H P Sử Dụng Của Hệ Th Ng
- Biểu Đồ Cộng T C Đăng Nhập Hệ Th Ng
- Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale - 7
- Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale - 8
Xem toàn bộ 72 trang tài liệu này.
View để hiển thị giao diện các trang.
- Nơi chứa các model trong Laravel
- Nơi chứa các controller trong Laravel
- Nơi chứa các view trong Laravel
- Phần khai báo database trong Laravel
DB_DATABASE là phần khai báo tên database của bạn
DB_USERNAME là phần hai báo t n đăng nhập database của bạn (mặc định t n đăng nhập là root)
DB_PASSWORD là phần khai báo mật khẩu database của bạn (mật khẩu mặc định là rỗng)
3.1.3. Các thư n
3.1.3.1. Requests – Easy HTTP Requests
Requests là m t thư viện giúp bạn có thể d dàng để đưa ra các HTTP requests.
Thư viện này bao g m m t số hàm như sau:
$headers = array('Accept' => 'application/json');
$options = array('auth' => array('user', 'pass'));
$request = Requests::get('https://api.github.com/gists', $headers, $options);var_dump($request->status_code);
// int(200)
var_dump($request->headers['content-type']);
// string(31) "application/json; charset=utf-8"var_dump($request->body);
// string(26891) "[ ]"
Với thư viện này, bạn có thể gửi HEAD, GET, POST, PUT, DELETE và các yêu cầu HTTP, thêm các tập tin và các thông số với mảng, và truy cập tất cả các dữ liệu được đáp ứng.
3.1.3.2. Carbon – DateTime Library
Carbon là m t API mở r ng đơn giản cho ngày và giờ. N giúp tăng cường các m t số phương pháp hữu ch để làm việc với ngày và thời gian. Ví dụ:
printf("Right now is %s", Carbon::now()->toDateTimeString());printf("Right now in Vancouver is %s", Carbon::now('America/Vancouver'));
$tomorrow = Carbon::now()->addDay();
$lastWeek = Carbon::now()->subWeek();
$nextSummerOlympics = Carbon::createFromDate(2012)->addYears(4);
$officialDate = Carbon::now()->toRFC2822String();
$howOldAmI = Carbon::createFromDate(1975, 5, 21)->age;
$noonTodayLondonTime = Carbon::createFromTime(12, 0, 0, 'Europe/London');
$endOfWorld = Carbon::createFromDate(2012, 12, 21, 'GMT');
// comparisons are always done in UTCif (Carbon::now()->gte($endOfWorld)) {
die();
}
if (Carbon::now()->isWeekend()) {
echo 'Party!';
}
echo Carbon::now()->subMinutes(2)->diffForHumans();
3.1.3.3. Faker – Fake Data Generator
Bạn có thể tạo dữ liệu trực tiếp từ nhiều cách hác nhau. Nhưng với thư viện Faker bạn có thể tạo ra m t b dữ liệu giả nhưng h ng hác gì dữ liệu thật. Nó tiện dụng khi bạn cần có m t cơ sở dữ liệu test hoặc tạo ra các dữ liệu mẫu cho ứng dụng web của bạn. N cũng rất d dàng để sử dụng:
// require the Faker autoloader
require_once '/path/to/Faker/src/autoload.php';
// use the factory to create a FakerGenerator instance
$faker = FakerFactory::create();
// generate data by accessing propertiesecho $faker->name; // 'Lucy Cechtelar';echo $faker->address;
// "426 Jordy Lodge
// Cartwrightshire, SC 88120-6700"echo $faker->text;
// Sint velit eveniet.
Mi n là bạn tiếp tục truy cập vào các thu c tính của đối tượng, nó s tiếp tục quay trở lại dữ liệu ngẫu nhiên tạo ra
3.1.3.4. Assectic – Asset Management
Assetic dùng để quản lý asset cho PHP framework. Nó kết hợp và làm g n CSS/JS của bạn. N được sử dụng như sau:
use AsseticAssetAssetCollection;use AsseticAssetFileAsset;
use AsseticAssetGlobAsset;
$js = new AssetCollection(array(
new GlobAsset('/path/to/js/*'),
new FileAsset('/path/to/another.js'),
));
// the code is merged when the asset is dumpedecho $js->dump();
Kết hợp tài nguyên theo cách này là m t tưởng tốt, vì nó có thể tăng tốc đ trang web của bạn. Không ch là tổng ch thước giảm mà cũng c rất nhiều các yêu cầu HTTP không cần thiết được loại bỏ (hai trong những yếu tố này quyết định đến tốc đ tải trang).
3.1.3.5. Image Workshop – Image Manipulation with Layers
ImageWorkshop là m t thư viện mã ngu n mở cho phép bạn thao tác hình ảnh với các lớp. Với nó, bạn có thể thay đổi ch thước, cắt xén, làm cho hình thu nhỏ. Đ y là m t ví dụ:
// We initialize the norway layer from the picture norway.jpg
$norwayLayer = ImageWorkshop::initFromPath('/path/to/images/norway.jpg');
// We initialize the watermark layer from the picture watermark.png
$watermarkLayer =
ImageWorkshop::initFromPath('/path/to/images/watermark.png');
$image = $norwayLayer->getResult(); // This is the generated image !header('Content-type: image/jpeg');
imagejpeg($image, null, 95); // We choose to show a JPG with a quality of 95%exit;
ImageWor shop được phát triển để thực hiện d dàng cho các thao tác với hình ảnh phổ biến nhất trong PHP. Nếu bạn cần m t cái gì đ mạnh m hơn nữa, bạn nên xem xét các Imagine library.
3.1.3.6. Snappy – Snapshot/ PDF Library
Snappy là m t thư viện PHP5 cho phép bạn chụp những bức ảnh hoặc file PDF của URL hoặc các tài liệu HTML. Nó phụ thu c vào wkhtmltopdf, có sẵn trên Linux, Windows và OSX. Cách dùng n như sau:
require_once '/path/to/snappy/src/autoload.php';use KnpSnappyPdf;
// Initialize the library with the
// path to the wkhtmltopdf binary:
$snappy = new Pdf('/usr/local/bin/wkhtmltopdf');
// Display the resulting pdf in the browser
// by setting the Content-type header to pdf:header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename="file.pdf"');
echo $snappy->getOutput('http://www.github.com');
3.1.3.7. Idiorm – Lightweight ORM Library
Idiorm là m t thư viện ORM nh và là m t truy vấn cho PHP5 được xây dựng dựa trên PDO. Với nó, bạn có thể quên cách viết tẻ nhạt của SQL:
$user = ORM::for_table('user')
->where_equal('username', 'j4mie')
->find_one();
$user->first_name ='Jamie';
$user->save();
$tweets = ORM::for_table('tweet')
->select('tweet.*')
->join('user', array(
'user.id', '=', 'tweet.user_id'
))
->where_equal('user.username', 'j4mie')
->find_many();
foreach ($tweets as $tweet)
{echo $tweet->text;}
3.1.3.8. Underscore – PHP’ Ut l ty B lt
Underscore là m t cổng của Underscore.js - vành đai tiện ích cho các ứng dụng
JavaScript. Phiên bản PHP đã h ng làm cho chúng ta thất v ng mà n đã hỗ trợ cho gần như tất cả các chức năng của bản gốc. M t số ví dụ:
::each(array(1, 2, 3), function($num) { echo $num . ','; }); // 1,2,3,
$multiplier = 2;
::each(array(1, 2, 3), function($num, $index) use ($multiplier) {
echo $index . '=' . ($num * $multiplier) . ',';
});
// prints: 0=2,1=4,2=6,
::reduce(array(1, 2, 3), function($memo, $num) { return $memo + $num; }, 0);
// 6
::find(array(1, 2, 3, 4), function($num) { return $num % 2 === 0; }); // 2
::filter(array(1, 2, 3, 4), function($num) { return $num % 2 === 0; }); //
array(2, 4)
Thư viện cũng đã hỗ trợ cho chuỗi, không những vậy nó còn làm cho nó thậm chí còn mạnh m hơn.
3.1.3.9. Dispatch – Micro Framework
Dispatch là m t PHP framework nhỏ. Nó cung cấp cho bạn m t thiết lập MVC đầy đủ, nhưng c thể định ngh a quy định UR và phương pháp tốt hơn ứng dụng của bạn. Hoàn hảo cho các API, các trang web đơn giản hoặc nguyên mẫu:
// include the libraryinclude 'dispatch.php';
// define your routesget('/greet', function () {
// render a view
render('greet-form');
});
// post handlerpost('/greet', function () {
$name = from($_POST, 'name');