Laravel là một framework phổ biến hiện nay được nhiều các lập trình viên sử dụng. Từ góc nhìn testing, nó cũng được biết đến là có kèm theo testing khi cài framework sử dụng. Trong Laravel có 2 cách để test, thứ nhất là với Unit testing, thứ hai là Feature testing. Unit test cho phép chúng ta test các class model, controller,… Mục tiêu của Unit test là kiểm tra tính đúng đẵn trong các xử lý của từng đơn vị mã …
Month: December 2020
Việc tối ưu cấu trúc đường dẫn sẽ giúp bạn tạo ra các đường dẫn thân thiện (Friendly URLs) để các công cụ tìm kiếm dễ dàng đọc, lập chỉ mục, dễ nhớ và ngắn gọn ngoài ra còn có thể bao gồm từ khóa có trong nội dung của đường dẫn để tốt nhất cho việc SEO. Ví dụ về đường dẫn thân thiện và không thân thiện: Đường dẫn không thân thiện https://viblo.asia/DoanhPV/posts/3KbvZ1oQGmWB https://viblo.asia/DoanhPV/posts/2p1PvQnJRldr Đường dẫn thân thiện …
JSON Web Token là gì? JSON Web Token (JWT) là một tiêu chuẩn mở (RFC 7519) định nghĩa một cách nhỏ gọn và an toàn để truyền tải thông tin giữa các bên một cách an toàn dưới dạng 1 đối tượng JSON . Các thông tin này được xác thực và có độ tin cậy cao vì nó có chứa chữ ký số (digital signature). Câu hỏi đặt ra là khi nào bạn nên sử dụng JSON Web Tokens? Authentication. …
1/ LẮNG NGHE NGƯỜI KHÁCCần biết tôn trọng và lắng nghe ý kiến của người khác để thấy điểm tốt và chưa tốt, cùng nhau thảo luận, đóng góp để có kết quả làm việc hiệu quả. 2/ TỔ CHỨC – PHÂN CÔNG CÔNG VIỆCCùng trao đổi để phân công công việc và giải quyết các vấn đề phát sinh trong nhóm, phân chia khối lượng công việc đồng đều giữa các thành viên và đảm bảo công việc được …
Ngày nay, để tiếp cận và đáp ứng nhu cầu sử dụng của nhiều loại khách hàng, đa phần các website đều phải sử dụng đa ngôn ngữ. Với những ai đã biết và sử dụng Laravel để phát triển website thì có thể thấy rằng vấn đề đa ngôn ngữ được hỗ trợ và giải quyết cực kì dễ dàng. Trong bài viết này, mình sẽ giới thiệu với các bạn cách để làm chức năng đa ngôn ngữ …
Website đa ngôn ngữ là gì? Ví dụ bạn đang sử dụng một trang web, mà trên trang ấy bạn có thể chuyển đổi từ tiếng việt sang tiếng anh, hoặc ngược lại hoặc chuyển sang một ngôn ngữ khác. Những website hỗ trợ nhiều ngôn ngữ như vậy gọi là web đa ngôn ngữ. Để làm được như vậy ta làm như sau ==>. Cài đặt và sử dụng Trong laravel có 2 cách ta có thể thiết lập …
Câu lệnh chạy server ảo trong Laravel : Câu lệnh để xem toàn bộ routes đang có trong PHP Framework Laravel : Câu lệnh tạo controller trong Laravel : Câu lệnh tạo controller với 7 functions CRUD trong Laravel : Câu lệnh tạo Migration trong Laravel: Câu lệnh chạy Migration: Câu lệnh quay trở lại dựa trên dữ liệu đã ghi vào migrations table và chạy lại migration: Câu lệnh xóa hết các bảng, không quan tâm về rollback và …
Cuối cùng chúng ta sẽ tiến hành cài đặt Composer lên bằng cách thực hiện lần lượt các lệnh theo hướng dẫn trên trang chủa của Composer ở đây. Tuy nhiên trước khi thực hiện các lệnh đó thì bạn cần chạy thêm lệnh sau để cài hai phần mềm cần thiết cho quá trình cài đặt Composer. Sau đó bạn chạy lần lượt các 2 lệnh đầu tiên theo hướng dẫn trên trang chủ ở đây. Đói với lệnh thứ 3 ở tên trang chủa là …
Để giải quyết vần đề phát sinh mà vẫn tận dụng triệt để lợi ích mà TDD mang lại, Dan North phát triển một mô hình mới với tên gọi: Behavior-Driven Development – BDD (hoặc ta có thể hiểu là Acceptance Test-Driven Development – ATDD). Trong đó, một vai trò mới trong việc thiết kế kiểm thử (Test Design) được đặt ra: Thay vì chờ đợi sản phẩm hoàn thành và kiểm thử, người tester/analyst tham gia vào quá trình …
TDD (Test-Driven Development) là mô hình phát triển với trọng tâm hướng về việc kiểm thử. TDD được xây dựng theo hai tiêu chí: Test-First (Kiểm thử trước) và Refactoring (Điều chỉnh mã nguồn) TDD với Agile Trong quá trình hình thành, TDD có liên quan mật thiết đến khái niệm “Test-First Programming” trong mô hình eXtreme Programming “XP” thuần túy Agile. Tuy nhiên, bằng việc ứng dụng đa dạng và linh hoạt, TDD cũng có những đặc điểm và …
Gọn nhẹ: jQuery là một thư viện khá gọn nhẹ – có kích cỡ khoảng 19KB (gzipped). Tương thích đa nền tảng: Nó tự động sửa lỗi và chạy được trên mọi trình duyệt phổ biến như Chrome, Firefox, Safari, MS Edge, IE, Android và iOS. Dễ dàng tạo Ajax: Nhờ thư viện jQuery, code được viết bởi Ajax có thể dễ dàng tương tác với server và cập nhật nội dung tự động mà không cần phải tải lại trang. Xử lý nhanh nhạy thao …
Session: Là phiên làm việc để lưu trữ 1 biến và biến đó có thể tồn tại từ trang này đến trang khác(cùng tên miền) Session được lưu trữ trên server Thời gian sống của nó sẽ kết thúc khi ta xoá nó hoặc hết tuổi thọ (tắt trình duyệt) Cách làm việc của session Khi Session được tạo ra, php tạo 1 định danh duy nhất cho session đó, định danh này là chuỗi ký tự ngẫu nhiên của …
Session Cookies Vị trí lưu Lưu trên server Lưu trên trình duyệt của client Bảo mật Session lưu trên server nên bảo mật hơn Cookie lưu dưới client nên kém bảo mật hơn Giới hạn Lưu không giới hạn Lưu có giới hạn …
Laravel cung cấp cách thức tạo ra và lấy thông tin cookie, toàn bộ thông tin được mã hóa và được gán với một mã xác thực do đó bất kỳ căn thiệp nào từ phía người dùng lên cookie đều bị Laravel phát hiện. Lấy các giá trị cookie sử dụng phương thức cookie của Request (Xem thêm Laravel Request) theo cú pháp như sau: Khi đó biến $value sẽ chứa giá trị cookie tên là name. ## Gán giá …
REST là viết tắt của REpresentational State Transfer. REST là một kiểu kiến trúc không phải là một giao thức. Ưu điểm của RESTful web service Nhanh: RESTful web service nhanh vì không có đặc tả nghiêm ngặt như SOAP. Nó chiếm ít băng thông và tài nguyên hơn. Ngôn ngữ và nền tảng độc lập: RESTful web service có thể được viết bằng bất kỳ ngôn ngữ lập trình nào và được thực hiện trong bất kỳ nền tảng …
SOAP là viết tắt của Simple Object Access Protocol. Nó là một giao thức dựa trên XML để truy cập các web service. SOAP được khuyến cáo bởi W3C cho giao tiếp giữa hai ứng dụng. SOAP là giao thức dựa trên XML. Đó là nền tảng độc lập và ngôn ngữ độc lập. Bằng cách sử dụng SOAP, bạn sẽ có thể tương tác với các ứng dụng ngôn ngữ lập trình khác. Ưu điểm của SOAP web service …
REST là viết tắt của cụm từ Representational State Transfer là một kiểu kiến trúc được sử dụng trong việc giao tiếp giữa các máy tính (máy tính cá nhân và máy chủ của trang web) trong việc quản lý các tài nguyên trên internet. REST sử dụng các cách biểu diễn khác nhau để biểu diễn các nguồn tài nguyên như text, JSON, XML nhưng phổ biến nhất vẫn là JSON. REST được sử dụng rất nhiều trong việc phát triển các …
Web API: là hệ thống API được sử dụng trong các hệ thống website. Hầu hết các website đều ứng dụng đến Web API cho phép bạn kết nối, lấy dữ liệu hoặc cập nhật cơ sở dữ liệu. Ví dụ: Bạn thiết kế chức nằng login thông Google, Facebook, Twitter, Github… Điều này có nghĩa là bạn đang gọi đến API của. Hoặc như các ứng dụng di động đều lấy dữ liệu thông qua API. API trên hệ …
Mỗi một ứng dụng bất kỳ đều có những ưu nhược điểm riêng, hỗ trợ tốt cho các ứng dụng. Vì vậy mà web API cũng không ngoại lệ: 1. Ưu điểm Web API được sử dụng hầu hết trên các ứng dụng desktop, ứng dụng mobile và ứng dụng website. Linh hoạt với các định dạng dữ liệu khi trả về client: Json, XML hay định dạng khác. Nhanh chóng xây dựng HTTP service: URI, request/response headers, caching, versioning, …
Đầu tiên là xây dựng URL API để bên thứ ba có thể gửi request dữ liệu đến máy chủ cung cấp nội dung, dịch vụ thông qua giao thức HTTP hoặc HTTPS. Tại web server cung cấp nội dung, các ứng dụng nguồn sẽ thực hiện kiểm tra xác thực nếu có và tìm đến tài nguyên thích hợp để tạo nội dung trả về kết quả. Server trả về kết quả theo định dạng JSON hoặc XML thông …
1. Tất cả Web services là APIs nhưng tất cả các APIs không phải là Web services. 2. Web services không thể thực hiện được tất cả các thao tác mà API sẽ thực hiện. 3. Một Web service sử dụng 3 chuẩn chính: SOAP, REST và XML-RPC trong quá trình giao tiếp, ngược lại API có thể sử dụng bất kỳ chuẩn nào để giao tiếp. 4. Một Web service đòi hỏi luôn luôn phải có mạng để nó …
Template engine là gì ? Template là mẫu bố cục chung cho tất cả các trang sử dụng lại thành phần giống nhau mà không phải viết lại toàn bộ ,chỉ cần dôi ở 1 số nơi được chỉ định trên trang từ template. Template engine giúp clean các đoạn code PHP nằm trong View nên tách biệt hoàn toàn giữa người code CSS và người code PHP. Blade template là gì ? Blade là 1 templating đơn giản ,Blade …
Để test nhanh các câu lệnh truy vấn cũng như hiển thị dữ liệu từ database một cách nhanh chóng mà không cần tạo Router, Controller, View… Tinker giúp bạn giải quyết nhanh gọn vấn đề này. Ít nhất chúng ta phải tạo sẵn các bảng kèm theo dữ liệu để có thể test truy vấn dữ liệu từ database. Vấn đề tạo như thế nào thì khi học Laravel các bạn có thể tham khảo Document trên trang chủ …
Mặc định, App\Http\Controllers\Controller class trong Laravel sử dụng AuthorizesRequests trait. Trait này cung cấp authorize method, mà có thể được sử dụng để nhanh chóng cấp quyền cho một hành động và throw một AuthorizationException nếu hành động không được cấp quyền. authorize method giống các phương thức cấp quyền khác như Gate::allows và $user->can(). Vì vậy, hãy sử dụng authorize method để nhanh chóng cấp quyền cho một request thực hiện cập nhật một Post: Nếu hành động được cấp quyền, controller sẽ tiếp tục thực thi bình thường; tuy nhiên, nếu …
Middleware dùng để làm gì ? Trước khi đi vào việc tạo và sử dụng Middleware trong Laravel thì chúng ta sẽ cùng tìm hiểu về công dụng của nó qua. Giả sử chúng ta có một trang web xem phim trả phí với một vài tính năng như: Xem danh sách các bộ phim mà hệ thống của bạn có Xem một bộ phim Download phim về máy Và tương ứng chúng ta sẽ có vài chức năng như sau: Vì …
1. Hiển thị error thông thường Nếu bạn đã đọc qua document của Laravel về phần Validation, bạn sẽ thấy có một đoạn code hướng dẫn hiển thị các lỗi như sau: Đoạn code trên sử dụng 2 hàm mà mình đã nói đến ở trước đó, đầu tiên ta sẽ tiến hành kiểm tra có lỗi nào hay không với hàm any() nếu có thì sẽ dùng hàm all() trong vòng lặp để hiển thị các lỗi đó ra màn hình. Đây cũng chính là đoạn …
1. Simple request validate Để hiểu được cách xử dụng của ValidatesRequests trait trong Laravel ta sẽ sử dụng ví dụ với form nhập liệu như sau: Với các yêu cầu về dữ liệu nhập vào được xét như sau: Tất cả các field không được để trống username chỉ gồm các chữ cái và n kí tự thỏa mãn: 4 <= n <= 10 email đúng định dạng email password gồm tối thiểu 8 kí tự passwrod confirm phải giống với password Nếu bạn tham khảo document cho phần validation …
Sau khi đã đã có CSDL, việc tiếp theo bạn có thể cần làm đó là thêm một số dữ liệu mẫu trước khi bắt đầu thực hiện việc code các tính năng. Như đã nói trên việc các bạn thêm dữ liệu mẫu thủ công tốn rất nhiều công sức và nếu làm viêc team bạn lại mất công export thành file .sql và đưa cho thành viên khác của team nếu không mỗi thành viên lại phải tự …
Migration theo như trong document chính thức của Laravel giới thiệu nó giống như một hệ thống quản lý phiên bản giống như Git nhưng dành cho cơ sở dữ liệu của bạn. Migration cho phép bạn định nghĩa các bảng trong CSDL, định nghĩa nội dung các bảng cũng như cập nhật thay đổi các bảng đó hoàn toàn bằng PHP. Đồng thời các thao tác với CSDL này còn có thể sử dụng trên các loại CSDL khác nhau như MySQL, SQL Server, …
Mặc dù ra đời muộn hơn so với CakePHP và CodeIgniter nhưng Laravel đã nhanh chóng được công nhận đón nhận và sử dụng nên chỉ đến khoảng giữa năm 2013 nó đã đứng đầu trong bảng xếp hạng đánh giá sao trên Github. Sở dĩ, Laravel phát triển nhanh và mạnh được đến như ngày này là nhờ vào các đặc điểm mà nó cung cấp có thể kể đến như sau: 1. Dễ dàng sử dụng Lý do đầu tiên khiến Laravel nhanh chóng …