Bài viết được sự cho phép của tác giả Thầy Long Web Kết nối đến PostgreSQL từ Laravel cũng đơn giản như khi kết nối đến Mysql không khác chi nhiều. Chỉ khác ở chỗ cấu hình ban đầu thôi. Trước khi đọc bài này, mời bạn đọc trước bài Quản trị PostgreSQL với pgAdmin4 để biết cách quản trị PostgreSQL nhe. Xong rồi thì mới xem bài này. Tạo project Laravel Vào command line chạy lệnh sau để có project Laravel: composer create-project laravel/laravel thuctap Cấu hình để kết nối đến PostgreSQL từ Laravel Mở file .env và khai báo kết nối DB_CONNECTION = pgsql DB_HOST = localhost DB_PORT = 5432 DB_DATABASE = banhang DB_USERNAME = postgres DB_PASSWORD = 123 Tạo database trong Postgres Mở pgAdmin4, tạo database banhang như gợi ý trong hình Chạy migration để tạo các table cơ bản cho laravel Chuyển vào folder project vừa tạo ở trên và chạy lệnh sau để tạo các table cần thiết cho laravel hoạc động: php artisan migrate Sau khi tạo xong, chuuyển qua bên pgAdmin4 sẽ thấy các table được tạo ra trong database [...]
Read more →Bài viết được sự cho phép của tác giả Duy Phan Ở bài viết này mình sẽ hướng dẫn bạn bắt đầu xây dựng một ứng dụng HMVC với Laravel, và tận dụng sức mạnh của Composer khi quản lí modules. Tạo mới một dự án Laravel Khởi tạo một dự án Laravel mới bằng dòng lệnh sau $ composer create-project --prefer-dist laravel/laravel hmvc-project $ cd hmvc-project Lúc này cấu trúc thư mục của chúng ta sẽ có dạng như thế này |- app/ |- Console/ |- Exceptions/ |- Http/ |- Providers/ User.php |- bootstrap/ |- config/ |- database/ |- public/ |- resources |- routes/ |- storages/ |- tests/ |- vendor/ ... Khởi tạo thư mục chứa các modules HMVC Chúng ta sẽ cố gắng không sử dụng cấu trúc thư mục mặc định để tránh tối đa sự xung đột hoặc khó khăn lúc nâng cấp lên các phiên bản cao hơn khi mà Laravel định kỳ release 6 tháng một lần. Điều này cũng giúp bạn đạt được sự thuận tiện tối đa [...]
Read more →Bài viết được sự cho phép của tác giả Duy Phan Có khá nhiều bạn đã yêu cầu mình một bài viết về Repository Design Pattern. Vậy mục đích của nó là gì? Nó có thực sự cần thiết cho ứng dụng của bạn hay không? Những điểm mạnh, điểm yếu của nó là gì? Chúng ta cùng đi sâu tìm hiểu qua bài viết này nhé. Repository Design Pattern là gì? Đây là một mẫu thiết kế nâng cao mà các bạn mới tiếp xúc lập trình có lẽ cũng không để ý về nó lắm. Đối với các bạn đã có kinh nghiệm thực tập hay làm việc ở các công ti - chắc hẳn cũng đã được nghe các mentor của mình nói về nó. Repository Design Pattern (mình sẽ tạm viết tắt nó thành RD) là một trong những mẫu thiết kế được sử dụng nhiều nhất trong hầu hết các ngôn ngữ lập trình, các framework... như .NET, Java, PHP..., trải dài [...]
Read more →Bài viết được sự cho phép của tác giả Duy Phan Trong quá trình làm việc với Laravel Eloquent ORM, chắc hẳn các bạn từng thực hiện khá nhiều tác vụ lặp đi lặp lại - mà bạn không hề biết Laravel đã hỗ trợ sẵn. Thông qua vài mẹo và thủ thuật nhỏ trong bài viết này, mình hi vọng sẽ giúp các bạn giảm bớt sự phức tạp khi viết code cũng như bớt nhàm chán khi thực hiện các tác vụ lặp đi lặp lại theo cách thông thường. Tăng hoặc giảm giá trị của một thuộc tính Mình cá là có khá nhiều người đã từng viết những thứ đại loại như thế này: $page = Page::find($id); $page->views_count++; $page->save(); Cách này hoàn toàn đúng nha các bạn, nhưng mình có thể viết lại như sau: $page = Page::find($id); $page->increment('views_count'); Đẹp hơn rồi phải không ^^ Các cách viết như sau [...]
Read more →Nếu bạn là một lập trình viên PHP thì chắc hẳn không thể chưa từng biết về Laravel, một framework phổ biến nhất của PHP hiện nay. Thị trường tuyển dụng lập trình viên ở Việt Nam trước đến nay thì PHP luôn là một ngôn ngữ được ưa chuộng với nhu cầu lớn và mức đãi ngộ hấp dẫn. Để chuẩn bị tốt nhất cho buổi phỏng vấn sắp tới, bài viết hôm nay chúng ta cùng nhau tìm hiểu top 10 câu hỏi phỏng vấn Laravel thường gặp nhất nhé. Câu 1: Laravel là gì? Laravel là một framework mã nguồn mở miễn phí dựa trên ngôn ngữ lập trình PHP, dùng để xây dựng các ứng dụng Web. Sử dụng mô hình kiến trúc MVC, Laravel cung cấp một hệ thống đóng gói module với các tài nguyên có sẵn để lập trình viên dễ dàng lựa chọn và sử dụng. Hiện nay, Laravel đang là PHP framework phổ biến [...]
Read more →Bạn đang quan tâm đến Laravel và muốn hiểu rõ hơn về framework này? Trong bài viết này, hãy cùng TopDev tìm hiểu về Laravel, từ khái niệm cơ bản đến những tính năng và cách Laravel giúp tạo ra các ứng dụng web chất lượng và hiệu quả. Laravel là gì ? Laravel là một framework mã nguồn mở, được phát triển bởi Taylor Otwell và phát hành ra thị trường vào năm 2011. Được xây dựng trên ngôn ngữ lập trình PHP, Laravel cung cấp một bộ các công cụ và tính năng giúp các developers tạo ra các ứng dụng webs mạnh mẽ, đáng tin cậy. Những tính năng chính của Laravel framework là gì? Nhằm giúp các lập trình viên xây dựng các ứng dụng hiệu quả và đáng tin cậy, Laravel cung cấp cho người dùng đa dạng các tính năng mạnh mẽ, bao gồm: Hệ thống định tuyến (Routing): Laravel có hệ thống định tuyến mạnh mẽ, linh hoạ [...]
Read more →Bài viết được sự cho phép của BBT Tạp chí lập trình Gần đây mới xin được việc, công ty làm về Phalcon nên mình cũng dành khá nhiều thời gian để tìm hiểu về nó. Dù trước kia học Laravel là chủ yếu (nhưng xin việc mấy chỗ đó lại từ chối) nên mình dịch bài này để tìm hiểu và so sánh giữa 2 framework chút chơi. Bài viết này so sánh Laravel và Phalcon, khi so sánh cuối mối phần so sánh sẽ có tổng điểm để dễ phân biệt. 1. Cài đặt và khởi đầu Cài đặt và bắt đầu với Laravel rất dễ, bạn chỉ cần dùng composer để cài đặt các gói và sau đó có thể bắt đầu một dự án mới. Bạn cũng có thể copy các file Laravel rồi sau đó bắt đầu chỉnh sửa, code… Cài đặt Phalcon khó hơn, thực tế mình đã không thể cài đặt thành công Phalcon 4 và phải nhờ mới cài được Phalcon 3.4. Đó là vì Phalcon không được viế [...]
Read more →Bài viết được sự cho phép của tác giả Phạm Bình Chào các bạn, Laravel tuy một PHP framework mạnh mẽ khi cung cấp rất nhiều tính năng hay ho cho developer. Nhưng thực tế, nhiều bạn developer mới chỉ sử dụng Laravel như một framework MVC đơn thuần mà không biết rằng ngoài cái đó ra, Laravel còn có nhiều tính năng cao cấp khác. Vì vậy, trong bài viết này mình sẽ chỉ ra một số tính năng hữu ích khác của Laravel (bên cạnh một MVC framework thuần túy). Hy vọng các bạn sẽ có thêm kiến thức để giải quyết các vấn đề trong dự án tốt hơn. I. Queue Queue – Hàng đợi trong Laravel là giải pháp để xử lý các request tốn nhiều thời gian thực thi, trong khi bạn lại không muốn user phải đợi quá lâu mới có response. Để hiểu rõ hơn, chúng ta sẽ cùng làm một tính năng theo 2 cách, cách 1 không sử dụ [...]
Read more →Bài viết được sự cho phép của tác giả Phạm Bình Chào các bạn, Trên môi trường local, chúng ta khởi động queue bằng cách chạy command: php artisan queue:work Nhưng trên môi trường production thì không ai rảnh mà lúc nào cũng bật một terminal để chạy command trên cả, mà sẽ có cách khác, và trong bài viết ngắn gọn này mình sẽ chỉ bạn điều đó. I. Supervisor 1.1 Cấu hình supervisor để chạy queue Supervisor là một chương trình giám sát tiến trình trên hệ điều hành Linux, mặt khác Laravel thường được deploy trên các server Linux, vì thế mình sẽ sử dụng Supervisor để giám sát việc chạy queue Laravel. Hiểu nôm na, Supervisor sẽ giúp chúng ta chạy ngầm cái command php artisan queue:work ngay cả khi tắt terminal. Để sử dụng supervisor làm “giám sát viên” cho queue, ta thực hiện các bước sau: Bước 1: Cài đặt Supervisor trên Linux (ở đây mình sử dụng Ubuntu) sudo apt-get install supervisor [...]
Read more →Bài viết được sự cho phép của tác giả Kien Dang Chung Video trong bài viết Trong quá trình nhập liệu, rất có thể người dùng nhập sai do vậy việc chỉnh sửa, cập nhật lại bản ghi là cần thiết. Trong bài hôm nay chúng ta cùng tìm hiểu cách cập nhật các thông tin về công việc trong ứng dụng Todo List. Hiển thị form cập nhật dữ liệu Trong bài trước chúng ta có Quy trình 3 bước để tạo ra một chức năng, chúng ta sẽ áp dụng quy trình này cho chức năng cập nhật dữ liệu. Đường dẫn chỉnh sửa dữ liệu cho từng todo cụ thể sẽ có dạng /todos/x/edit với x chính là ID của todo, ví dụ /todos/3/edit để chỉnh sửa dữ liệu cho todo có id = 3. Chức năng chỉnh sửa dữ liệu cũng giống chức năng tạo mới bản ghi, nó sẽ chia thành 2 phần việc: Phần 1: Hiển thị form nhậ [...]
Read more →Bài viết được sự cho phép của tác giả Kien Dang Chung Video trong bài viết Trong bài trước chúng ta đã sơ lược về mô hình MVC, bạn cũng đã được làm quen với Route và View. Trong bài hôm nay, bạn hãy cùng tôi tìm hiểu về Controller, vậy Laravel Controller có phải là Controller trong mô hình MVC, nó được sử dụng cho mục đích gì?. Laravel Controller Chúng ta cùng xem định nghĩa Laravel Controller trên tài liệu chính thức của Laravel: Thay vì định nghĩa tất cả các đoạn xử lý logic nghiệp cho yêu cầu trong các file route dưới dạng Closure, chúng ta sẽ tổ chức nó vào các class Controller. Controller giúp nhóm các logic nghiệp vụ cho yêu cầu liên quan vào trong một class. Controller được lưu trong thư mục app/Http/Controllers. Như vậy chúng ta có thể thấy Laravel Controller mang dáng dấp của Controller trong MVC, tuy nhiên nó được phân lớp nhiều hơn, giúp xây dựng ứng dụng tốt [...]
Read more →Bài viết được sự cho phép của tác giả Kien Dang Chung Video trong bài viết Laravel được lựa chọn để phát triển ứng dụng web vì có rất nhiều các công cụ, tính năng được tích hợp sẵn, nó giúp cho công việc phát triển thuận lợi hơn, viết ít code hơn và code cũng dễ dàng maintain. Route Model Binding là một trong những hạt cát của sa mạc công cụ, nhưng có thể thấy những cái nhỏ nhất cũng chứa đựng đầy tinh thần Laravel. [irp posts="37639" name="Bộ cài đặt Laravel Installer đã hỗ trợ tích hợp Jetstream"] [irp posts="6398" name="Cách sử dụng Laravel với Socket.IO"] Xem thêm tuyển dụng Laravel lương cao trên TopDev Route Model Binding là gì? Trước khi đến với định nghĩa Route Model Binding là gì? chúng ta quay trở lại với các phương thức đã viết code trong TodosController ở những bài trước: public function show($todoId) { return view('todos.show')->with('todo', Todo::find($todoId)); } public function edit($todoId) { return view('todos.edit')->with('todo', [...]
Read more →Bài viết được sự cho phép của tác giả Kien Dang Chung Có vẻ chúng ta thực hiện hơi ngược quy trình viết code cho ứng dung Todo List, nếu chúng ta thực hiện việc tạo từng bản ghi Todo trước thì không cần đến tạo dữ liệu mẫu cho hiển thị danh sách Todo và chi tiết từng Todo. Bố cục chương trình Khóa học Laravel cơ bản qua ứng dụng Todo List muốn nhắm đến các khái niệm cơ bản về Laravel, do đó theo bố cục này bạn sẽ được học nhiều hơn. Thứ hai, viết code như chúng ta làm từ đầu đến giờ giống với các bước mà người dùng sẽ sử dụng ứng dụng hơn. [irp posts="237" name=" Làm PM, theo anh không cần biết về code, nhưng phải hiểu về SQL, database, những khái niệm cơ bản của code""] [irp posts="11945" name="26 công cụ và kỹ thuật trong Big Data có thể bạn chưa biết"] Hiển thị form tạo bản ghi mới [...]
Read more →Bài viết được sự cho phép của tác giả Kien Dang Chung Video trong bài viết Ứng dụng Todo List đã gần thành hình với các chức năng tạo bản ghi mới, xem danh sách bản ghi và xem chi tiết từng bản ghi. Tiếp theo, trong bài học hôm nay chúng ta cùng tìm hiểu về một công việc rất quan trọng: Kiểm tra dữ liệu. Tại sao kiểm tra dữ liệu quan trọng? chúng ta cùng tìm hiểu nhé. [irp posts="37639" name="Bộ cài đặt Laravel Installer đã hỗ trợ tích hợp Jetstream"] [irp posts="6398" name="Cách sử dụng Laravel với Socket.IO"] Tại sao cần kiểm tra dữ liệu Người dùng không hề biết phải nhập dữ liệu như thế nào vào ứng dụng, đặc biệt khi mới lần đầu sử dụng và như vậy việc nhập liệu có thể dẫn đến lỗi ứng dụng. Hơn nữa, dữ liệu là một tài nguyên quan trọng trong ứng dụng, muốn khai thác tà [...]
Read more →Bài viết được sự cho phép của tác giả Kien Dang Chung Video trong bài viết Trong bài Kiểm tra dữ liệu, chúng ta đã hiển thị các thông báo về lỗi nhập liệu đến người dùng, các thông báo này rất cần thiết để người dùng biết được trạng thái nhập liệu. Ngoài những thông báo lỗi, chúng ta còn những thông báo cần thiết khác, ví dụ như khi đã thực hiện xong một công việc nào đó. [irp posts="4199" name="API Authentication trong Laravel-Vue SPA sử dụng Jwt-auth"] [irp posts="37639" name="Bộ cài đặt Laravel Installer đã hỗ trợ tích hợp Jetstream"] Laravel Session lưu dữ liệu dùng chung trong phiên Như các bạn đã biết, HTTP là giao thức stateless tức là giao thức không trạng thái, các lần truy cập khác nhau sẽ không liên quan và lưu trữ trạng thái của nhau. Chính vì vậy, để lưu trữ thông tin qua các lần truy cập khác nhau, chúng ta có Laravel Session. [...]
Read more →