Giới thiệu về Swagger RESTful API là một tiêu chuẩn dùng trong việc thiết kế API cho các ứng dụng web (thiết kế Web services) để tiện cho việc quản lý các resource. Nó chú trọng vào tài nguyên hệ thống (tệp văn bản, ảnh, âm thanh, video, hoặc dữ liệu động…), bao gồm các trạng thái tài nguyên được định dạng và được truyền tải qua HTTP, các RESTful API được xây dựng để cung cấp quyền sử...
PHP Happy New Year Laravel Swagger Basic swaggerMở đầu Hiện nay, các ứng dụng web hiện đại thường tách biệt các thành phần frontend và backend, việc này giúp cho bạn chủ động trong việc phát triển từng thành phần, có thể deploy từng thành phần riêng biệt. Khi đó phía frontend sẽ sử dụng dữ liệu từ backend thông qua các API, vì thế dần bạn sẽ phải quan tâm tới các request tới API, khi nào cần fetch dữ liệu từ API, hay khi nào dữ liệu...
PHP Happy New Year Laravel RubyChào các bạn, chắc hẳn ai trong chúng ta đã biết về biến và tham chiếu khi học các môn cơ sở lập trình khi mới vào nghề. Thế nhưng khi làm việc với PHP một vài người tưởng như đã quên là nó có tồn tại, hoặc một vài người thì biết nó có nhưng lại không biết xài nó như nào; thậm chí một vài trong chúng ta đã từng xài nhưng lại phát sinh một số lỗi không ngờ tới. Để giúp các bạn...
PHP ReferencesNguồn: https://qiita.com/rana_kualu/items/6247441f6fdd63c10a06 PHP từ lâu đã được biết đến với phong cách xử lý đồng bộ, tức là làm mọi thứ từ trên xuống dưới. Tuy nhiên, ví dụ: nếu bạn muốn tìm nạp dữ liệu từ nhiều URL và tóm tắt kết quả, bạn muốn thực hiện các yêu cầu HTTP tốn thời gian cùng một lúc. Có một thư viện tên là Guzzle cho mục đích này, cho phép bạn thực hiện các yêu...
PHP guzzle FIber callstackLời mở đầu Xin chào các bạn ? trong bài viết lần này chúng ta cùng nhau tìm hiểu về Traits trong PHP, và cách sử dụng Traits nha! Giới thiệu về traits PHP là một ngôn ngữ kế thừa đơn: một lớp con chỉ có thể kế thừa từ một lớp cha duy nhất. Điều này có thể đặt ra vấn đề về việc sử dụng lại mã, nếu lớp cần kế thừa nhiều hành vi. Từ PHP 5.4 trở đi, PHP đã hỗ trợ Traits để...
PHP traitsTiếp nối 2 bài viết trước, trong bài viết này, chúng ta sẽ giúp cho IoC Container có khả năng quản lý các singleton. Nhưng trước khi tiến hành implement tính năng resolve singleton này. Chúng ta phải nâng cấp container để có khả năng resolve class thay vì chỉ là closure như hiện tại. Cụ thể hơn, chúng ta sẽ nâng cấp container để bind một interface cho một implementation. 1. Auto Concrete Resolution Đây chỉ là một...
PHPLaradock hiện tại đang được sử dụng khá phổ biến bởi tính linh hoạt cũng như độ phủ về mặt setting cho nhu cầu làm về Website, cũng như ngôn ngữ PHP đa phần chúng ta bắt gặp khá nhiều. Khi bạn cần bất kỳ service nào chỉ đơn giản hãy cài đặt nó từ 1 cấu hình có sẵn và chỉ phải sửa tham số riêng theo server với project của bạn mà thôi. Một phần mà chúng ta gẫn như luôn phải cài...
PHP Happy New Year Laravel LaraDockI. Giới thiệu: Một bài toán thực tế là bạn cần quản lý một lớp học nào đó mà danh sách tên hoặc điểm số của các học sinh được sắp xếp không theo một thứ tự nào đó khiến cho bạn rất khó để quản lý chính vì vậy bài toán sắp xếp sẽ giúp chúng ta dễ dàng hơn trong việc quản lý một công việc gì đó. Sắp xếp là một trong những bài toán thực tế phổ biến nhất trong lập...
PHPisLowerCase Trả về true nếu chuỗi đã cho là chữ thường, ngược lại là false. function isLowerCase($string) { return $string === strtolower($string); } isLowerCase('Morning shows the day!'); // false isLowerCase('hello'); // true groupBy Nhóm các phần tử của một mảng dựa trên chức năng đã cho. function groupBy($items, $func) { $group = []; foreach ($items as $item) { if ((!is_string($func) && is_callable($func)) ||...
PHPTình cờ mình có đọc được mấy thứ đối với mình khá hay ho nên cũng muốn chia sẻ lại ở đây, mai kia còn nhớ để mà dùng 1. if và else Không sai khi sử dụng else và else if các khối trong mã của bạn, trên thực tế, chúng được tạo ra để sử dụng, tuy nhiên, trong một số trường hợp, các khối này trở nên thừa. Hãy xem một ví dụ sau: function gender(bool $userIsMale) { if ($userIsMale) { ...
PHPSlim là một micro framework tuyệt vời cho cho các ứng dụng web, RESTful Api và các website. Mục đích của chúng là tạo ra một RESTful Api chỉ với routing, logic nghiệp vụ và cơ sở dữ liệu. Các tiêu chuẩn như PSR và một số các phương pháp sử dụng Slim hữu ích sẽ được giới thiệu trong bài viết này. Requirements PHP > 7.2 MySQL > 5.7 hoặc MariaDB Apache webserver với mod_rewrite and .htaccess Composer Cài...
PHP slim frameworkỞ bài trước https://viblo.asia/p/bat-dau-voi-framework-slim-4-part-1-E375z6xb5GW mình đã giới thiệu qua về framwork Slim cũng như một vài bước setup cơ bản khi mà Slim yêu cầu mình cần cái gì mới cài cái đó thay như vì laravel sẽ luôn có sẵn đợi chúng ta gọi đến. Bài viết này sẽ tiếp tục các bước còn lại để hoàn chỉnh một project với Slim. Route Cùng đi vào tạo route đầu tiên với slim nhé! Mở file...
PHP slim frameworkIntroduction Lazy Collection là một tính năng mới của Laravel được giới thiệu trong phiên bản 6.0. Đây là một sự bổ sung cho tính năng Collection vô cùng hữu ích đã có trước đó của Laravel cho phép ta giảm thiểu bộ nhớ sử dụng. Vì là một tính năng mới, hiện các tài liệu về Lazy Collection vẫn còn hạn hẹp nên mình xin phép góp vui một bài viết đi vào tìm hiểu về Lazy Collection và có một cái...
PHP collection Laravel MayFest Lazy CollectiongRPC là gì ? Chắc hẳn khi mới đọc tiêu đề, nhiều bạn thắc mắc tại sao lại biến ứng dụng đơn giản trở nên phức tạp để làm gì không biết, nhưng thực ra việc phức tạp này sẽ mang lại cho chúng ta rất nhiều lợi ích, với những ứng dụng nhỏ thì gRPC chưa thực sự cần thiết, tuy nhiên áp vào các ứng dụng lớn, cần được mở rộng trong tương lai, việc chuyển đổi từ REST sang gRPC...
PHP Laravel gRPC May FestHôm nay mình sẽ tiếp tục gửi đến các bạn bài viết về cách Deploy một dự án Laravel lên một server mới và bạn cần setup tất cả môi trường cần thiết cho việc khởi chạy dự án trơn tru ngay lần đầu tiên. Thông thường công việc sẽ có rất nhiều thứ cần phải làm và lệnh cài đặt, tuy nhiên các bạn đã làm quen với những bài viết trước đây của mình về Laradock chắc hẳn đã có sẵn...
PHP Laravel LaraDockI. Giới thiệu: 1. Vấn đề: Trong thực tế khi triển khai những dự án thì bạn sẽ gặp những khó khăn trong vấn đề trong cấp các quyền truy cập cho từng Model ở những màn hình đặc thù nhằm để bảo mật thông tin thì đây có thể là bài viết bạn đang cần có thể giúp bạn dễ dàng hơn trong quá trình xây dựng dự án của mình. Có 2 cách đơn giản để bạn phân quyền cho hệ thống của mình...
PHP Laravel policiesTại sao mình viết series này ? Dù trên internet có rất nhiều tài liệu viết về DDD nhưng chắc hẳn mọi người chỉ đọc hiểu sơ mà không biết làm sao để đưa nó vào project của mình. Nhân tiện hiện tại trong dự án mình làm cũng áp dụng mô hình này nên chia sẻ trong tầm hiểu biết cho mọi người có thể hiểu rõ hơn về cách áp dụng nó nhé ! Nếu có gì sai sót mọi người cũng chỉ cho mình để...
PHP Laravel API Domain Driven DesignGiới thiệu Trước đây khi tham gia một buổi chia sẻ kiến thức về Docker thì có một bạn đặt câu hỏi mình thấy khá là thú vị, đó là nếu trong trường hợp bạn đang tham gia hai dự án khác nhau, mỗi dự án lại yêu cầu một phiên bản PHP khác nhau thì có thể áp dụng Docker vào được hay không. Ở bài viết này mình sẽ hướng dẫn cách sử dụng Docker để giải quyết câu hỏi được đặt ra ở...
PHP Laravel Docker Docker ComposeLập trình hướng đối tượng (object oriented programming – OOP) là một trong những mô hình lập trình được sử dụng nhiều nhất và cũng là một trong những mô hình hiệu quả nhất để mô hình hoá thế giới thực vào thế giới code. Các tính chất đặc biệt khiến việc “hướng đối tượng” trở nên hiệu quả đó là: Tính trừu tượng (abstraction): Tạo ra các lớp trừu tượng mô hình hoá các...
PHP SOLIDProgpilot là công cụ phân tích source code PHP với mục đích tìm các lỗ hổng bảo mật. Progpilot là công cụ phân tích tĩnh và sử dụng kỹ thuật taint checking để tìm lỗi. Với kỹ thuật này thì khả năng báo lỗi chính xác hơn so với kỹ thuật phân tích thông thường như regex chẳng hạn. Progpilot có hỗ trợ tìm lỗi trên các framework như: wordpress, symfony, codeigniter, prestashop, suitecrm. Trong bài này mình...
PHP cyber security static code analysis progpilotGiới thiệu Ở bài trước, chúng ta đã viết được một chương trình tuyệt vời in ra Hello World ở trong PHP. Hôm nay hãy cùng mình Hello World và thêm Hello PHP thêm nhiều lần nữa để có tinh thần phấn chấn. Các bạn hãy truy cập https://replit.com/languages/php_cli và bắt đầu gõ lệnh như sau. Các bạn sẽ thấy có thêm . PHP_EOL, cái này hiện tại các bạn hiểu là xuống dòng nhé, mình sẽ giải thích kĩ...
PHP Căn bản lập trìnhGiới thiệu Xin chào mọi người, ở bài trước, chúng ta đã tìm hiểu cũng khá chi tiết về biến là gì và cách sử dụng biến ở trong PHP. Ngày hôm nay, chúng ta sẽ luyện tập sử dụng biến và viết một chương trình nho nhỏ để luyện tập kĩ năng đặt tên biến, sử dụng biến. Tại sao phải luyện tập? Lí do cũng khá đơn giản: Practice makes perfect. Vui vẻ luyện tập 0 Viết chương trình chào...
PHPGiới thiệu Trong bài viết này, chúng ta hãy cùng phân tích và tìm lời giải cho bài luyện tập dùng biến. Các bạn dùng https://replit.com/languages/php_cli như mọi khi nhé. Vui vẻ luyện tập 0 Bài này khá đơn giản: $myName = 'John Doe'; $message = 'John Doe: Hello, my name is John Doe.'; $yourFriendlyNeighborhoodName = 'Jane Doe'; $reply = 'Jane Doe: Hello John Doe. My name is Jane Doe. Nice to meet you.'; echo $message . PHP_EOL; echo $reply ....
PHPGiới thiệu KIểu dữ liệu trong lập trình giúp cho compiler hoặc intepreter của một ngôn ngữ lập trình có thể biết và xử lý với dữ liệu đó. Ở mức độ cơ bản, chúng ta sẽ thường làm việc với những kiểu dữ liệu như: integer, float hoặc double, string, boolean và array. Cùng tìm hiểu sâu hơn về những kiểu dữ liệu này nhé. Kiểu dữ liệu Số nguyên (integer) Kiểu dữ liệu số nguyên là những...
PHP datatype1. Giới thiệu Một vấn đề thường xuyên gặp đối với lập trình viên đó là việc gặp bug và fix bug. Riêng việc fix bug thì tất nhiên chẳng bao giờ dễ dàng chút nào và debug là phương án tốt nhất để giúp bạn kiểm tra và fix những lỗi trong code của bạn. Hôm nay, mình xin giới thiệu với các bạn công cụ debug là Laravel Debugbar, một công cụ debug hiệu quả và tiện lợi. Laravel Debugbar là một...
PHP Laravel Debug1. Giới thiệu Nếu là một lập trình viên PHP, chắc hẳn bạn đã từng ít nhất một lần sử dụng traits. Traits được giới thiệu từ PHP 5.4, là một cơ chế giúp ta tái sử dụng code trong các ngôn ngữ đơn kế thừa như PHP. Với traits, ta có thể nhóm các phương thức ta muốn thành một class và sử dụng các phương thức trong traits mà không cần phải kế thừa traits. Tiếp theo ta sẽ đi tìm hiểu về...
PHP traits