Tải bản đầy đủ (.docx) (14 trang)

Tìm hiểu về la ra vel

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (103.33 KB, 14 trang )

I.Cài đặt Laravel:
+Cài đặt Composer: dung để quản lý
 Vào download composer .
+Cài đặt Laravel: Hướng dẫn cài đặt laravel thông qua composer
 Cài đặt laravel chúng ta sẽ dùng composer create_probject command viết lệnh:
composer create-project laravel/laravel [project_folder] [--prefer-dist]
+project_folder: tên thư mục dùng để cài đặt laravel.
Yêu cầu hệ thống:
 PHP >=5.3.7
 MCrypt PHP Extension.
II.Cấu hình Laravel
 File cấu hình được chứa trong thư mục: app/config .
 Cách truy cập giá trị của file cấu hình.
Ex: config::get( ‘app.timezone’);
$timezone = Config::get(‘app.timezone’,’UTC’); giá trị của cấu hình không tồn tại
 Thiết lập giá trị của file cấu hình
Ex: config::get(‘database.default’,’sqlite’);
III.Cách thức chạy laravel
Những ứng dụng sẽ được chứa trong app/start gồm có: global.php, local.php, artisan.php
IV.Routing: bộ định tuyến của trang web (vào sao ra vậy)
Các định nghĩa routing được chứa trong app/routes.php
A. Routing bacsic:
+ Get/Post Route:
Route::get( ‘/ ‘,function()
{
Return “hello word”;
});
Route::post(‘foo/bar’,function()
{



Return “ hello wold”;
});
Ex:Route::get(‘/’, array(‘1’=> ‘loc’,’2’=>function()
{
Return array[1];
}));
+Đăng ký route để áp ứng cho http
Route::any(‘foo’,function(){
Return “hello word”;});
+Lưu đường đẫn route thành https
Route::get(‘foo1’, array(‘https’,function()
{ return “mac dinh”;
}));
+Tạo ra các url trong route chúng ta có thể dùng:
$url = URL:: to(‘foo1’);
B. Truyền tham số cho route
Route::get(‘user/{id}’,function($id)
{
Return ‘user’.$id;
});
Có thể truyền hoặc không truyền tham biến
Route::get(‘name/{name?}’,function($name = null)
{
Return $name;
});

C. Route Filters: kiểm tra dữ liệu đầu vào
Route::filter(‘old’,function()



{
If(input::get(‘age’) <200)
{
Return Redirect::to(‘home’);
}
});
Truyền tham biến vào trong Route Filter:
Route::filter(‘age’,function($so1,$so2,$so3)
{
Return “cuimia”;
}));
Route::get(‘name’,array(‘before’=>’age:2,4,3’,function()
{
Return “thu coi”;
}));
Mô hình dựa trên bộ lọc:
Route::filter(‘admin’,function()
{});
Route:when(‘admin/*’,’admin’);
Đặt tên cho Router
$url = URL::route(‘ten’);
$redirect = Redirect::route(‘poject’);
Route Groups:
Sub-Domain Routing
Ràng buộc Model Route
V/Requests & Input
Lấy giá trị nhập vào :
+Input::get(‘ten’);
Ex:$name=Input::get(‘name’);
$name=Input::get(‘name’,’thuan’);

Lấy giá trị nhập vào có quan hệ cha- con:
+Input::has(‘name’)
Lấy tất cả các giá trị nhập vào:
+Input::all();
Lấy những giá trị được yêu cầu:
+Input::only(‘user’,’pass’)
+Input::except(‘credit_card’);
Lấy file upload:
Input::file(‘photo’);


Lấy đường dẫn của file upload
$path = Input::file(‘photo’)->getRealPath();
Lấy tên file đường dẫn:getClientOriginalName
V/ Views : thường chứa html biểu diễn giao diện người dùng có trong thư mục app/views
Truyền dữ liệu cho view
Ex:hello.php
<body>
<?php echo $name;?>
</body>
Controller.php
$view = View::make(‘hello’,array(‘name’ =>’thuan’));
Return $view;
Truyền dữ liệu cho sub view:
Ex: demo/thucoi.php
<div>

Thu coi nao


</div>
Controller.php
$view = View::make(‘hello’)->nest(‘demo1’,’demo.thucoi’);

Hello.php
<?php echo ‘xuatrafile’.$demo1;?>
View Composers:
Khai báo một View Composers
View::composer(‘hello’,function($view)
{


$view->with(‘count’,user::count());
});
Có thể khai báo nhiều View
View::composer(array(‘hello’,’hello1’),function()
{
$view->with(‘count’,user::count());
}
Responses:
Khai báo:
Controllers
Khai báo Controllers

PHẦN 2:
Cache:
Cấu hình cache được chứa trong app/config/cache.php


Events

Database
Cấu hình : File cấu hình của database :app/config/database.php


Hổ trợ hệ thống database: MySQL, Postgres, SQLite, and SQL Server.

Câu lệnh MySQL:
Sử dụng câu truy vấn:
+Lệnh select: DB::select(‘SELECT * FROM table_name WHERE column_name=?’,array(‘column_name’))
+Lênh insert:DB::insert(‘INSERT INTO table_name(column1,column2,..)
values(?,?,..),array(giatri1,giatri2,..))
+Lệnh update: DB::update(‘UPDATE table_name SET column = ‘giatri’ where
column_name=?’,array(‘giatri’))
+Lệnh delete: DB::delete(‘DELETE FROM table_name’)
Database transaction:
DB::transaction(function(){
DB::table(‘table_name’)->update(array(‘column’ => ‘giatri’));
});
Cách sử dụng hai kết nối :DB::connection(‘database_name’)->select(‘…’);
Cách truy cập từng trường : DB::conection(‘database_name’)->getPdo();

Cách xây dựng các câu query
Câu lệnh :SELECT
+Lấy giá trị tất cả dòng trong table:
$query = DB::table(‘table_name’)->get()
Foreach($query as $table)


{
Var_dump($table->column);
}
+Lấy giá trị 1 row trong table
$sql = DB::table(‘table_name’)->where(‘column’,’ten/giatri’)->first();
Var_dump($sql ->column);

+Lấy giá trị của 1 column trong 1 row
$sql = DB::table(‘table_name’)->where(‘column’,’ten/giatri’)->pluck(‘column’);
+Lấy danh sách giá trị của các cột table.
$sql1 = DB::table(‘table_name’)->lists(‘column_name’)
+Những câu truy vấn select đặc biệt
$sql = DB::table(‘table_name’)->select(‘column1’,’column2’)-get();
$sql = DB::table(‘table_name’)->select(‘ column1 as name’)->get();
$sql = DB::table(‘table_name’)->distinct()->get();
+Thêm column vào table
$sql = DB::table(‘table_name’)->select(‘column1’);
$sql1 = DB::table(‘table_name’)->addselect(‘column_new’)->get();
+Câu điều kiện where:
Toán tử:
$sql = DB::table(‘table_name’)->where(‘column’,’>’,100)->get();
OR:
$sql = DB::table(‘table_name’)->where(‘column’,’>’,100)
->orwhere(‘column’,’name’)
->get();
+Between


$sql = DB::table(‘table_name’)->whereBetween(‘column’,array(1,100))->get();
+Câu điều kiện có In
$query = DB::table(‘table_name’)->whereIn(‘id_column’,array(1,2,3))->get();
$query = DB::table(‘table_name’)->whereNotIn(‘id_column’,array(1,2,3))->get();
+Câu điều kiên Null:
$query = DB::table(‘table_name’)->whereNull(‘column_name’)->get();
+OrderBy,gruopBy and having
$query = DB::table(‘table_name’)->orderBy(‘column_name’,’desc’)
->groupBy(‘column_name’)

->having(‘colum_name’,’>’,giatri)
->get()
+Offset and Limit
$query = DB::table(‘table_name’)->skip(10)->take(5)->get()

B1: Cấu hình database: app/config/database.php
B2:Tạo table bằng cách sử dụng migrations
+ php artisan migrate:install
+php artisan migrate:makecreate_users_table


+ Tạo recode trong table
classCreate_Users_Table
{
public function up()
{
Schema::table('users', function($table)
{
$table->create();
$table->increments('id');
$table->string('email');
$table->string('real_name');
$table->string('password');
$table->timestamps();
});
}
/**
* Revert the changes to the database.
*
* @return void

*/
public function down()
{
Schema::drop('users');
}
}


php artisan migrate
php artisan migrate:rollback
php artisan migrate
B3:Tạo Eloquent user model
class User extends Eloquent
{
public static $table = 'my_name_table';
}
B4:Dùng routing to a closure: application/routes.php
Method: get(),post(), put(), delete().Thường dùng phương thức get() and post().Method get() khi click
vào link or mot link tren thanh địa chỉ. Khi sumbit form thì dùng phương thức post()
EX: Route::get(‘todo’, function()
{
Return “test route”;
});
B5:Tạo table với Eloquent
B6:Tạo controller: app/controller
B7: Creating the users index view

Validator: Kiểm tra dữ liệu đầu vào của form, database models,..)
Ex:
$validator = Validator::make(

array(‘name’ => ‘Thuan’), array(‘name’ => ‘required|min:5’));


// kiem tra loi
if($validator->fails())
{
Return Redirect::back()->with_input()->with_errors($validator);

}

Bảo mật trong laravel:
Laravel cung cấp cho chúng ta một class để bảo mật thông tin của người dùng thông qua Authentication
User: login, logout, hạn chế số lượng người truy cập không được xác thực tài khoản.
Một số phương thức được Authentiction User sử dụng:
Auth::check() : Kiểm tra người dùng hiện tại đã login chưa thì trả về true ngược lại flase
Auth::guest(): Kiểm tra người dùng hiện tại chua login thì trả về true
Auth::user() : Dùng để lấy giá trị của người dùng
Auth::login(): Phương thức login đã có sẵn
Auth::logout(): Phương thức thoát đăng nhập của người dùng
Auth::attempt(array $credentials = array(), $remember = false) : Chứng thực người dùng với những
thông tin đăng nhập, $tham số truyền vào là xác định người dùng có được lưu vào hệ thống)
Ex: Auth::attempt(array(‘email’ => $email, ‘password’ => $password)
Phương thức mã hóa password:
Hash::make(‘pasword’)
Xác định password được băm trở lại
Hash::check(‘password’, $password)
Kiểm tra nếu như password băm trở lại
Hash::needsRehash($password)



Ngoài ra laravel còn cung cấp cho người dùng một CSRF :
Csrf_token()
Route::post(‘register’, array(‘before’ => ‘csrf’, function()
{
}));

Package :
A. Tạo creating A package:

Dùng command để viết lệnh:
Php artisan workbench name author/name package –resources
B. Sự kiện của packge
Hiển thị một view trong package
Return View::make(‘package::view.name’)
Lấy yếu tố của package
Return Config::get(‘package::group.option’)
C. Lấy đường dẫn của package
+Lấy đường dẫn route into package
Function boot()
Include _DIR_.’/../../routes.php
D. Cấu hình Package
Config::get(‘package::file.optin’)
Or config::get(‘package::optin’)
Session :

Laravel là framework đơn giản và dễ sử dụng cho việc phát triển web php. Laravel giúp cho chúng ta sẽ
tạo ra những ứng dụng tuyệt vời với cú pháp dễ hiểu, phong phú.Ưu điểm của được được thể hiện qua
những điểm sao đây:

Laravel Vaditation

required : bắt buộc nhập giá trị vào text
alpha : giá trị bắt buộc là chữ cái
alpha_num : giá trị đầu vào bắt buộc là số


alpha_dash : giá trị đầu vào phải là số vào chữ, dấu – or dấu /
size : chiều dài cố định hoặc so sánh nếu đó là số
between:giới hạn của các số
min: giá trị số sẽ nhỏ hơn giá trị cung cấp vd: ‘min:1’
max: giá trị cho sẽ bằng hoặc thấp hơn giá trị được cung cấp
numeric: giá trị là một số
integer: giá trị đầu vào là integer
in: giá trị được chứa trong khoảng cho phép
not_in: giá trị sẽ ko được chứa trong khoảng cho phép
confirmed: giá trị sẽ được kiểm tra nếu thông tin khóa tồn tại hoặc
bằng giá trị mặc định
accepted: giá trị sẽ được kiểm tra nếu giá trị được gán cho ‘yes’ or
1(thuận lơi cho việc kiểm tra checkbox)
same: giá trị gần giống như thuộc tính của giá trị đã có.
Different: giá trị khác với giá trị đã có
Match: giá trị được mặt định trong biểu thức
unique : kiểm tra giá trị duy nhất trong bảng
exists: giá trị có thể tồn tại trong table
before : giá trị là ngày trước ngày được cho
after: giá trị là ngày sau ngày được cho
email: giá trị mặc định là email
url: giá trị mặc định là url
active_url: giá trị mặc định là url và đang hoạt động
mimes: kiểm tra kiểu upload file, nó được định nghĩa trong config/mimes.php
image : file có thể là hình ảnh

Laravel: cung cấp cho chúng ta thuộc tính để bắt lỗi đó là: Validator->fails() hoặc Validator>passes(), thự viện thu thập tất cả các lỗi đó thông qua Validator->errors




Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×