PHP
Duyệt các bài viết được gắn thẻ PHP
58 bài viết

Code PHP làm sao cho sạch (Phần 2)
Xem lại Phần 1 Cách Code PHP làm sao cho sạch tại đây. Tránh kiểm tra kiểu dữ liệu (phần 1) PHP là một ngôn ngữ không ràng buộc kiểu dữ liệu, nghĩa hàm có thể nhận bất kỳ kiểu nào. Thỉnh thoảng thì chúng ta bị ảnh hưởng bởi sự tự do này và nó trở thành điều kiện để phải kiểm tra kiểu dữ liệu trong hàm. Có nhiều cách để tránh phải làm việc đó. Điều đầu tiên cần làm là tạo ra những API nhất quán. Chưa tốt: function travelToTexas($vehicle): void { if ($vehicle instanceof Bicycle) { $vehicle->pedalTo(new Location('texas')); } elseif ($vehicle instanceof Car) { $vehicle->driveTo(new Location('texas')); } } Tốt: function travelToTexas(Traveler $vehicle): void { $vehicle->travelTo(new Location('texas')); } Tránh kiểm tra kiểu dữ liệu (phần 2) Nếu bạn đang làm việc với các kiểu dữ liệu nguyên thủy như strings, integers, và arrays, và sử dụng PHP 7+ và bạn không thể sử dụng tính đa hình nhưng bạn vẫn cảm thấy cần kiểm tra kiểu dữ liệu, hãy xem type declaration hoặc strict mode. Nó cung cấp cho bạn kiểu static trên PHP standard. Vấn đề thông thường khi kiểm tra kiểu dữ liệu là sẽ khiến code khó đọc nên tóm lại mất nhiều hơn là được. Hãy giữ PHP nguyên thủy, viết tests cho tốt, và code reviews cẩn thận là được. Nếu không thì chỉ còn cách định nghĩa theo kiểu nghiêm ngặt(strict type declaration) hoặc dùng strict mode. Chưa tốt: function combine($val1, $val2): int { if (!is_numeric($val1) || !is_numeric($val2)) { throw new Exception('Must be of type Number'); } return $val1 + $val2; } Tốt: function combine(int $val1, int $val2): int { return $val1 + $val2; } Xem tin tuyển lập trình viên PHP đãi ngộ tốt trên Station D Xóa dead...

Callback trong PHP là gì?
Bài viết được sự cho phép của tác giả Kien Dang Chung Callback là gì? Callback là khái niệm một hàm được truyền vào một hàm khác như một tham số để nó có thể được thực hiện trước hoặc sau một sự kiện hoặc một thay đổi trạng thái. Trong thực tế, callback nghĩa là gọi lại, xem xét một ví dụ sau, một người hỗ trợ sẽ thực hiện lấy các thông tin về lỗi của người dùng sau đó mới gọi lại (callback) cho khách hàng. Trong PHP, thực hiện callback là rất đơn giản. Chúng ta xem một ví dụ sau: <?php function sayHello ( $callback ) { echo "Xin chào ! </ br > " ; // Các câu chuyện khác ở giữa xin chào và tạm biệt // ... $callback ( ) ; } function sayGoodbye ( ) { echo "Tạm biệt!" ; } sayHello ( 'sayGoodbye' ) ; // Kết quả // Xin chào! // ... // Tạm biệt Trên đây là một ví dụ rất đơn giản về callback trong PHP, hàm sayGoodbye được truyền vào hàm sayHello như một tham số. Cách thực hiện này rất hữu ích khi chúng ta muốn định nghĩa một hàm (sayGoodbye) được thực hiện khi một sự kiện xảy ra (sau các câu chuyện khác). Ví dụ trên đây khá dễ hiểu nhưng có một khía cạnh chưa được bàn đến là việc sử dụng kết quả của hàm gọi trong hàm được gọi. Ví dụ tiếp theo cho thấy hỗ trợ viên sau khi lấy thông tin về lỗi người dùng và sử dụng thông tin này để gọi lại cho khách hàng: <?php function sayHello ( $first_name , $last_name , $callback ) { $full_name = $first_name . ' ' . $last_name ; $callback...

So sánh ASP.NET và PHP? Lập trình website nên học ngôn ngữ nào?
ASP.NET và PHP là 2 công cụ lập trình đã được đem ra so sánh và thảo luận trong một khoảng thời gian dài. Cả 2 ngôn ngữ lập trình này đều được tận dụng để phát triển rất nhiều ứng dụng web mạnh, đơn cử như Facebook và Twitter. Trong bài viết này, chúng ta sẽ cùng tìm hiểu sự khác biệt giữa lập trình ASP.NET và PHP , cũng như so sánh xem đâu là lựa chọn tốt hơn cho bạn. ASP.NET là gì? ASP.NET là một khung ứng dụng web được thiết kế và phát triển bởi Microsoft. Nó là ngôn ngữ mã nguồn mở và là một tập hợp con của .NET Framework và là sự kế thừa của ASP cổ điển (Active Server Pages). Với phiên bản 1.0 của .NET Framework, nó được phát hành lần đầu tiên vào tháng 1 năm 2002. ASP.NET được xây dựng trên CLR (Common Language Runtime) cho phép các lập trình viên thực thi mã của mình bằng bất kỳ ngôn ngữ .NET nào (C #, VB, v.v.). Nó được thiết kế đặc biệt để làm việc với HTTP và cho các nhà phát triển web để tạo các trang web động, ứng dụng web, trang web và dịch vụ web vì nó cung cấp tích hợp tốt HTML, CSS và JavaScript. .NET Framework được sử dụng để tạo ra nhiều ứng dụng và dịch vụ như Console, Web và Windows, v.v. Nhưng lập trình ASP.NET chỉ được sử dụng để tạo các ứng dụng web và dịch vụ web. Đó là lý do tại sao chúng ta gọi ASP.NET là một tập hợp con của .NET Framework. >> Tìm hiểu: ASP.NET Core là gì ? So sánh .NET core và ASP.NET core So sánh cơ bản giữa lập...

TẤT TẦN TẬT VỀ PHP – Tìm hiểu về PHP như thế nào?
Dưới đây là một vài nội dung tổng hợp được của Station D cho bạn về học tài liệu tham khảo PHP. Các trang web tốt nhất cho bạn để tìm hiểu về PHP Các bạn tự vào google gõ tên web là ra nhé 1) PHP Manual Hướng dẫn toàn diện về PHP và bao gồm mọi thứ, từ các lệnh cơ bản và cách sử dụng chúng cho đến các chức năng và bảo mật tổng thể. Nếu bạn cần biết điều gì đó – đây là bất cứ điều gì – về PHP bạn sẽ tìm thấy nó trang web. Tìm việc làm php lương cao không yêu cầu kn 2) PHP 101 Đúng như tên gọi của nó, Trang web dành cho người chưa biết gì về php. Nếu bạn chỉ mới bắt đầu với PHP và bạn muốn tìm hiểu bằng ví dụ, thì đây là một nơi tuyệt vời để ghé thăm. Trang web cung cấp một loạt các hướng dẫn giải trí và hữu ích được viết bởi Vikram Vaswani – người sáng lập và CEO của Melonfire. Nội dung rõ ràng, súc tích và cực kỳ dễ hiểu đặc biệt là đối với người mới viết mã. Khi bạn hoàn thành toàn bộ hướng dẫn, bạn sẽ chuyển sang tạo một trang tổng hợp tin tức RSS đơn giản thông qua PHP. Nhược điểm duy nhất của trang web này là không có nhiều ảnh chụp màn hình để tham khảo, vì vậy bạn sẽ phải tìm hiểu sự xuất hiện của mã PHP bởi sự đơn độc của bạn – điều không nhất thiết phải là một công cụ giải quyết. 3) Killer PHP Đây là trang web giúp bạn học các kỹ năng PHP có thể sử dụng nhanh nhất...

Mẫu bảng mô tả công việc lập trình PHP
Lập trình PHP có nhiệm vụ chính là xây dựng các ứng dụng cấp doanh nghiệp, quản lí quá trình phát triển ứng dụng bằng PHP, đồng thời tham gia vào toàn bộ quá trình phát triển sản phẩm, từ lên ý tưởng, phân tích, thiết kế đến kiểm tra, vận hành thực tế theo kế hoạch. Hy vọng, Mẫu bảng công việc lập trình PHP này sẽ giúp các bộ phận nhân sự dễ dàng hơn cho việc tuyển dụng những vị trí này. Về lập trình viên PHP: Để thành một PHP Developer giỏi, các lập trình viên cần nắm rõ cấu trúc dữ liệu và giải thuật, kỹ thuật lập trình hướng đối tượng cũng như có kiến thức hoặc kinh nghiệm về framework liên quan như Laravel, Zend, CI, Yii, CakePHP… để cùng tham gia nghiên cứu, thiết kế, phát triển và tích hợp các các giải pháp và hệ thống ứng dụng phục vụ công việc quản trị, vận hành và điều hành cho sản phẩm công ty/ khách hàng. Mẫu bảng công việc lập trình PHP YÊU CẦU CÔNG VIỆC Có kinh nghiệm làm việc với PHP và framework liên quan như Laravel, Zend, CI, Yii, CakePHP. Có kiến thức ứng dụng các CSS và Javascript framework: jQuery, Boostrap… Nắm vững cơ sở dữ liệu MySQL, NoSQL,.. Tinh thần trách nhiệm cao trong công việc, có thể làm việc dưới áp lực cao và tinh thần trách nhiệm cao. Có sản phẩm thực tế là lợi thế. Kỹ năng tư duy logic và thuật toán tốt, phân tích và giải quyết vấn đề Có khả năng đọc hiểu tiếng Anh chuyên ngành MÔ TẢ CÔNG VIỆC Tham gia phát triển các ứng dụng, nâng cấp và triển khai các sản phẩm phần mềm theo...

Cách sử dụng hàm isset trong PHP
Isset là một hàm cơ bản nhưng cực kỳ quan trọng trong PHP giúp chúng ta kiểm tra giá trị của một biến. Mặc dù vậy thì thực tế sử dụng các bạn mới code PHP thường nhầm lẫn nó với một số hàm khác có chức năng kiểm tra biến tương tự như empty hay is_null . Bài viết hôm nay chúng ta cùng nhau tìm hiểu cách sử dụng hàm isset trong PHP áp dụng bài toán thực tế nhé. Hàm isset() trong PHP Hàm isset() trong PHP thực hiện việc kiểm tra một biến đã được thiết lập hay chưa. Nếu một biến đã được unset với hàm unset() trong PHP thì nó sẽ được xem là không còn được thiết lập nữa. Hàm isset() sẽ trả về false nếu như biến đang kiểm tra chứa giá trị là NULL. Cú pháp hàm: isset(variable1, variable2……) Tham số: variable1 (bắt buộc): biến cần check variable2 …… (không bắt buộc): các biến cần check khác Giá trị trả về: TRUE : nếu như các biến (variable1,variable2..) truyền vào tồn tại và có giá trị khác NULL FALSE : trong các trường hợp còn lại Ví dụ: Để kiểm tra xem người dùng đã nhấn vào nút submit trên form login hay chưa, chúng ta thường xử lý như đoạn dưới đây trong PHP bằng cách sử dụng hàm isset để check. <?php if ( isset ( $_POST [ 'login' ])){ // Code xử lý khi người dùng nhấn vào nút login form } ?> Sử dụng hàm isset giúp chúng ta tránh được các lỗi liên quan đến việc khởi tạo biến hoặc khởi tạo các phần tử trong mảng, ví dụ như lỗi Notice: Undefined variable hay Notice: Undefined index . Việc kiểm tra trước điều kiện giúp...

Hướng dẫn cấu hình Xdebug bằng PHPStorm cho Docker
Biên dịch: Trần Thanh Dân Docker đã làm thay đổi đáng kể cách chúng ta phát triển các ứng dụng. Docker thực sự dễ dàng cho bắt kỳ lập trình viên nào có thể chạy các ứng dụng phức tạp chỉ với 1 dòng lệnh mà không cần phải lo lắng về các thông tin chi tiết khác. Những lợi ích này rất tiện lợi khi sử dụng làm việc cùng team hoặc enterprise context. Tôi vẫn nhớ phải mất đến 3 ngày đầu tiên khi tham gia vào công ty hiện tại để cấu hình project và tất cả các thư viện,công cụ liên quan khác. Docker có thể giúp việc này dễ hơn, nhanh hơn và có tính nhất quán. Việc duy trì các công cụ của Docker khá phức tạp, ngoài ra một số thứ có thể sẽ dễ dàng hơn khi chạy ứng dụng trong môi trường phát triển ứng dụng bình thường như là debugging ứng dụng của bạn từ trình soạn thảo (IDE). Khi sử dụng docker thì cần một số cấu hình bổ sung. Và trong trường hợp này là Xdebug, đây không phải là một nhiệm vụ dễ dàng. Tôi không tìm thấy bất kỳ hướng dẫn nào từ lúc bắt đầu cho đến khi kết thúc. Đó là lý do tại sao tôi viết bài này. Nó sẽ hướng dẫn bạn từng bước thông qua quá trình cài đặt và cấu hình Xdebug bằng PHPStorm với một ứng dụng Dockerized Symfony 4. Chuẩn bị Chúng ta sẽ thực hiện nó trên một máy tính Ubuntu 18.04, PHPStorm 2018.1.4 và các phiên bản mới nhất của Docker, Docker Compose (Hướng dẫn này có thể không đúng khi thực hiện trên các hệ điều hành khác). Bạn cần có kiến thức cơ bản...

Các hàm xử lý chuỗi thường dùng trong PHP
Bài viết được sự cho phép của tác giả Mai Đông Giang Cắt hay nối chuỗi trong PHP, kiểm tra từ tồn tại trong một chuỗi trong PHP. Hay như đếm số ký tự trong một chuỗi bằng PHP, độ dài của chuỗi,…. Có rất nhiều thao tác với chuỗi trong PHP chúng ta sẽ gặp thường xuyên trong lập trình. Bài này mình xin được chia sẻ với các bạn về một số hàm xử lý chuỗi thường dùng trong PHP. Trước hết, chúng ta xem qua nguyên tắc dùng chuỗi trong php: Nếu chuỗi được đặt trong dấu nháy kép “” thì các ký tự nháy kép ” bên trong chuỗi phải thêm dấu gạch chéo đằng trước nó. Trước hết, chúng ta xem qua nguyên tắc dùng chuỗi trong php: Nếu chuỗi được đặt trong dấu nháy kép “” thì các ký tự nháy kép ” bên trong chuỗi phải thêm dấu gạch chéo đằng trước nó. echo "Phân tích câu tục ngữ "Uống nước nhớ nguồn" "; Nếu chuỗi được đặt trong dấu nháy kép “” thì trong chuỗi ta có thể truyền biến mà không cần dùng phép nối chuỗi. $foo = 100; echo "Số foo có giá trị là $foo"; Nếu chuỗi được đặt trong dấu nháy đơn ” thì các ký tự nháy đơn ‘ bên trong chuỗi phải thêm dấu gạch chéo đằng trước nó. Thường dùng với câu chữ trong tiếng Anh. echo 'I'm fine'; Bây giờ chúng ta đến với các hàm xử lý chuỗi hay dùng: addcslashes($str, $char_list) Hàm này có tác dụng chèn vào trước các ký tự trong chuỗi $str với các ký tự được liệt kê ở $char_list echo addcslashes(" PHP là ngôn ngữ lập trình Web", 'g'); // output: PHP là ngôn ngữ lập trình...

Format (Làm đẹp) code php trong VS Code
Bài viết được sự cho phép của tác giả Phạm Bình Chào các bạn, Đây là bài viết tiếp theo của bài Code PHP chuẩn convention với PHP CodeSniffer . Trong bài này, mình sẽ hướng dẫn các bạn auto check lỗi và format code PHP trong Vs Code – một trong những code editor được yêu thích nhất hiện nay. Lưu ý, để hiểu bài viết này hơn, thì bạn cần đảm bảo các yêu cầu sau: Máy tính đã cài composer ở dạng global. Máy tính đã cài PHP CodeSniffer ở dạng global. Bạn hiểu ý nghĩa của 2 công cụ phpcs và phpcbf. Bạn hiểu ý nghĩa của file cấu hình phpcs.xml trong dự án. Nếu không, hãy đọc phần trước của bài viết này , tại đó mình có cung cấp các nội dung hữu ích về các yêu cầu trên. 10 Frameworks tốt nhất hiện nay cho PHP 4 lý do để VS Code là Text Editor ưa thích của mọi lập trình viên I. GIỚI THIỆU VỀ TÍNH NĂNG FORMAT CODE TRONG VS CODE Giống như nhiều editor khác, VS Code có tính năng tự động format code của bạn cho chuẩn hơn. Hình ảnh mượn tạm từ một nguồn khác phambinh.net Phím tắt để format code trên VS Code tương ứng với từng hệ điều hành như sau: Trên Windows: Shift + Alt + F. Trên Mac: Shift + Option + F. Trên Linux: Ctrl + Shift + I. Tuy nhiên, mặc định thì VS Code không tích hợp sẵn việc format code PHP , mà chúng ta phải cài thêm từ extension bên ngoài, và mình sẽ hướng dẫn các bạn cài ở ngay mục phía dưới đây. II. FORMAT CODE PHP TRONG VS CODE VỚI PHP SNIFFER & BEAUTIFIER Mình đã...

Debug project Yii2 với XDebug và PHPStorm IDE
Tác giả: Ugin Po Hôm nay chúng ta đang nói về gỡ lỗi và một trình gỡ lỗi. Trước hết, tôi phải thông báo cho bạn rằng bài viết này dành cho người mới bắt đầu muốn có khả năng gỡ lỗi dự án Yii2 của riêng họ trong IDE PHPStorm mạnh mẽ với XDebug. Bắt đầu. Trong trường hợp của tôi, tôi đã sử dụng các công cụ tiếp theo: Apache 2.4 PHP 5,5 Trình duyệt Chrome với JetBrains IDE Plugin 2.8 PHPStorm 9 xDebug 2.2.6 Xem tin tuyển lập trình viên PHP đãi ngộ tốt trên Station D Bước 1. Trong php.ini của bạn tìm một phần [Xdebug] và các chỉ thị bỏ ghi chú bên dưới: zend_extension=”YOUR_PATH_TO_PHP/ext/php_xdebug.dll” xdebug.default_enable = 1 xdebug.remote_autostart = 0 xdebug.remote_enable = 1 xdebug.remote_port = 9001 Sau đó bạn nên kiểm tra cấu hình php của bạn thông qua hàm phpinfo (). Nếu bạn có thể tìm thấy xdebug trong danh sách thuộc tính, điều này có nghĩa là bạn đã cấu hình quyền xDebug. Bước 2. Vào PHPStorm-> File-> Settings-> Language & Frameworks Bạn nên thiết lập môi trường phát triển trong phần phiên dịch php như sau: Bước 3. Sau đó vào PHPStorm-> File-> Settings-> Language & Frameworks-> PHP-> Server và thiết lập các tùy chọn máy chủ web của bạn: Bước 4. Trong PHPStorm-> File-> Settings-> Language & Frameworks-> PHP-> Debug định cấu hình cài đặt xDebug: Bước 5. Ở góc trên cùng bên phải của PHPStorm chọn tùy chọn “Edit Configurations…” Bước 6. Trong cửa sổ xuất hiện, nhấp vào “+” và thêm “PHP Web Application”. Đó là tất cả. Bước tiếp theo là đặt điểm ngắt bằng cách nhấp vào bên trái của trình chỉnh sửa đối với một số chức năng hoặc các thực thể khác mà bạn...

Kết nối Database động với PHP, Dynamic Database Connection!
Bài viết được sự cho phép của BQT Kinh nghiệm lập trình Hôm nay mình cùng trở lai với PHP nhé. Chắc hẳn chúng ta đều đã biết hầu hết các hệ thống/ứng dụng đều sử dụng ít nhất 1 hệ quản trị Cơ sở dữ liệu để lưu trữ dữ liệu cho ứng dụng của mình. Thông thường các hệ thống đó có thể sử dụng một hoặc nhiều Database. Tuy nhiên phần lớn chúng đều được khai báo cố định trước trong các file config. Một ngày đẹp trời, chúng ta cần xây dựng một hệ thống mà cần quản lý, kết nối tới nhiều Database khác nhau nhưng lại không được khai báo và xác đinh trước. Vậy chúng ta sẽ xử lý ra sao? Bài viết hôm nay mình sẽ chia sẻ phương án giải quyết cho việc kết nối động tới Database (dynamic database connection). Cụ thể mình sẽ minh họa đối với PHP CodeIgniter. Dynamic Database Connection Giải pháp Các bước thực hiện như sau: Tạo helper xử lý việc trả về cấu hình chuẩn để kết nối Database Load dữ liệu thông tin Database trước khi cần kết nối Sử dụng helper để render dữ liệu config với Database trên Load model với config Database mới Việc làm database lương cao Tạo Helper Tạo 1 file helper, đặt tên là db_dinamic_helper.php trong folder application/helpers Code Helper demo Sau khi tạo helper chúng ta cùng thêm function để render cấu trúc config PHP. Trên hình là code mình sử dụng với CodeIgniter. Một điệu đặc biệt quan trọng là thêm helper trên vào Autoload . Xem thêm Việc làm php hấp dẫn Load thông tin kết nối Database Ở bước này, các bạn load thông tin kết nối của Database bạn đang muốn kết...

Nâng skill lập trình PHP như thế nào?
Là một lập trình viên thì ta luôn chú ý đến năng suất của sản phẩm như phải an toàn, không bị lỗi và đương nhiên sẽ chạy nhanh. Và bài này mình sẽ đề cập đến vấn đề tối ưu code của PHP và làm thế nào để website chạy nhanh hơn. Vậy nâng skill lập trình PHP như thế nào? 1. Nắm được nguyên tắc hoạt động của trình biên dịch Có lẽ phần này thì ai cũng biết nhưng tôi nghĩ cũng nên đưa ra vì nó rất là quan trọng, và hy vọng những bạn chưa hiểu nguyên tắc hoạt động sẽ nắm bắt được. Đối với trình biên dịch một ngôn ngữ lập trình bất kỳ thì trình biên dịch luôn luôn dịch một file từ trên xuống dưới và từ trái qua phải. Giả sử bạn tạo 2 fiel a.php và b.php thì nếu bạn require b.php vào a.php thì lúc này trình biên dịch sẽ thực thi hết file b.php rồi mới dịch xuống dòng kế tiếp sau lệnh require ở file a.php . Ví dụ: File a.php: echo 'Begin file a.php<br/>'; require 'b.php'; echo 'end file a.php'; File b.php: echo 'File b<br/>'; Test nhanh kết quả sẽ là: Begin file a.php File b end file a.php Trường hợp bạn gọi tới một hàm nào đó. Nếu trong chương trình chạy đến một hàm nào đó thì nó sẽ thực thi hết nội dung bên trong hàm đó rồi mới chạy xuống dòng lệnh kế tiếp, và hàm đó bạn có thể đặc bất kỳ vị trí nào trong file PHP, không giống như JavaScript hay C++ là bạn phải khai báo phía trên nó mới hiểu. 2. Thuần thục các toán tử trong lập trình Các ngôn ngữ lập trình sẽ có...