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

Tại sao PHP lại chậm? Vậy có những cách nào để tối ưu PHP?
Bài viết được sự cho phép của tác giả Lê Chí Dũng Một thời gian làm việc trên PHP mình nhận thấy rằng về phương diện sử dụng là rất tốt và dễ dàng sử dụng viết sau cũng chạy kiểu dữ liệu tự do nhưng về perfomance thì thật sự chưa tốt. Chính vì thế sau một thời gian sử dụng sẽ thấy perfomance giảm rõ rệt, tuy nhiên ta cũng có một số cách để cải thiện vấn đề này. Tại sao PHP lại chậm? Để trả lời vấn đề này ta sẽ quay lại cơ chế hoạt động cơ bản của ngôn ngữ server này. PHP là ứng dụng execute từ PHP script sang ngôn ngữ máy ( Assembly -> mã nhị phân ) để xử lý mà trước khi đến execute thì phải qua bộ core của PHP để parse PHP script và compiler nửa chính vì qua nhiều bước để đến execute nên nếu quá nhiều xử lý thì sẽ rất chậm với lại web hiện nay thì lượng truy cập tăng rất nhanh nên chậm là điều khó tránh khỏi. Vậy có những cách nào để tối ưu PHP? 1. Dùng kết hợp Cache OpCode (APC Cache) và Cache data (Memcached, Redis,…) Cache Opcode điển hình là APC Cache, Opcache. Nó là cache file được tạo ra và lưu trên ổ đĩa, sau khi compile xong hiểu nôm na là thay thế 2 bước ( Parse + Compile ) thay vì phải qua 3 bước nặng nề để chuyển PHP thành ngôn ngữ máy để chạy thì mình chỉ tốn 2 bước nhẹ nhàn lấy cache ra chuyển thành ngôn ngữ máy để chạy. Nên tốc độ sẽ nhanh hơn đến 50%. Cache data điển hình là Memche, memched, redis,… Nó là cache data...

PHP Autoloading là gì? PSR-4 autoloading với Composer
Bài viết được sự cho phép của tác giả Kien Dang Chung 1. PSR là gì? PSR viết tắt của cụm từ PHP Standard Recommendation là các tiêu chuẩn viết code trong ngôn ngữ PHP được đưa ra bởi tổ chức PHP-FIG (PHP Framework Interop Group). PSR có rất nhiều các tiêu chuẩn khác nhau từ PSR-0 đến PSR-19, mỗi tài liệu đặc tả về những tiêu chuẩn viết code khác nhau cho những công việc khác nhau trong lập trình PHP . Thiết lập tiêu chuẩn viết code là rất quan trọng trong lập trình theo nhóm, nó giúp code dễ đọc, dễ phát hiện sai sót khi kiểm tra bởi các thành viên khác nhau trong nhóm. Tiêu chuẩn viết mã trong PHP là rất khác nhau giữa các framework và ngay cả các phiên bản PHP khác nhau, ví dụ tên phương thức có thể viết theo nhiều kiểu khác nhau như camelCase, snake_case… hoặc một ví dụ khác về cách thức sử dụng các thư viện PHP ngoài bằng cách sử dụng include thuần túy hoặc sử dụng tiêu chuẩn autoload. Chính vì vậy, PSR được hiệp hội phát triển framework ngồi lại và đưa ra các tiêu chuẩn chung cho viết code PHP. Trong viết code PHP có 4 tiêu chuẩn thường thấy nhất là PSR-0, PSR-1, PSR-2 và PSR-4, chúng ta cùng xem chúng là những tiêu chuẩn gì? PSR-0 và PSR-4 là tiêu chuẩn về đặt tên namespace và cách load các thư viện PHP tự động. Từ tháng 10 năm 2014, tiêu chuẩn PSR-0 không còn được dùng nữa và khuyến cáo chuyển sang PSR-4. PSR-1 và PSR-2 là các tiêu chuẩn cơ bản về viết mã nguồn và hiện PSR-2 được coi là tiêu chuẩn phổ biến cho “phong cách” viết...

Menu PHP CLI đẹp cho Laravel Artisan Commands
Nuno Maduro, tác giả của Laravel Zero và Collision (Sẽ được đưa vào trong bản Laravel 5.6) đã đưa ra một package mà có thể quản lý các dòng lệnh khá ổn gọi là nunomaduro/ laravel-console-menu . Xem thử console menu đẹp đến mức nào: Laravel Console Menu là gói dùng cho php-school / cli menu được tạo ra cho Artisan commands. Xem tin tuyển lập trình viên PHP đãi ngộ tốt trên Station D Dưới đây là một ví dụ từ readme: class MenuCommand extends Command { /** * Execute the console command. * * @return void */ public function handle() { $option = $this->menu('Pizza menu', [ 'Freshly baked muffins', 'Freshly baked croissants', 'Turnovers, crumb cake, cinnamon buns, scones', ])->open(); $this->info("You have chosen the option number #$option"); } } Đây là cách bạn có thể thay đổi giao diện của menu bằng API: $this->menu($title, $options) ->setForegroundColour('green') ->setBackgroundColour('black') ->setWidth(200) ->setPadding(10) ->setMargin(5) ->setExitButtonText("Abort") // remove exit button with // ->disableDefaultItems() ->setUnselectedMarker('❅') ->setSelectedMarker('✏') ->setTitleSeparator('*-') ->addLineBreak('<3', 2) ->addStaticItem('AREA 2') ->open(); Tất cả những gì bạn phải làm để bắt đầu sử dụng gói Laravel Artisan Commands là cài đặt nó thông qua Composer: composer require nunomaduro/laravel-console-menu Station D via Có gì mới trong bản cập nhật Laravel 5.5.33 vừa ra mắt Source: Laravel-news Xem ngay những tin đăng tuyển dụng IT mới nhất trên Station D

Code PHP chuẩn convention với PHP CodeSniffer
Bài viết được sự cho phép của tác giả Phạm Bình Chào các bạn, Có lẽ không cần dài dòng, nếu chưa biết gì về coding convention thì mình đã có hẳn một bài viết xịn sò là Chuẩn coding convention trong PHP với PSR , bạn có thể tham khảo nếu thấy cần thiết. Còn trong bài viết này, mình sẽ hướng dẫn bạn cách sử dụng công cụ PHP CodeSniffer để kiểm tra convention tự động khi lập trình PHP . 10 PHP Instagram Scripts & Widgets tốt nhất 11 cách tăng tốc nhanh cho WordPress bằng file wp-conig.php I. PHP CODESNIFFER LÀ GÌ? Vài điểm Hightlight về PHP CodeSniffer như sau: – PHP CodeSniffer gồm 2 công cụ chính là phpcs , và phpcbf . Trong đó phpcs là công cụ giúp bạn phát hiện lỗi coding convention, còn phpcbf là công cụ giúp bạn tự động tìm và sửa lỗi coding convention – đương nhiên là chỉ sửa được những gì mà nó có thể sửa. – PHP CodeSniffer là một package PHP, có thể cài đặt bằng composer như nhiều package php bình thường khác, nó có thể cài đặt theo từng dự án, hoặc có thể cài global trên máy tính của developer. – PHP CodeSniffer kiểm tra lỗi coding convention dựa trên các PSR, và nếu muốn bạn cũng có thể tự tắt/bật một số quy tắc của PSR để phù hợp với từng dự án, từng team phát triển. – Bạn có thể dễ dàng tích hợp PHP CodeSniffer với các editor phổ biến như Sublime Text, VsCode,… trong bài viết này, mình cũng sẽ hướng dẫn các bạn các tích hợp với VsCode. Tìm việc làm PHP đãi ngộ tốt trên Station D II. CÀI ĐẶT VÀ SỬ DỤNG PHP CODESNIFFER...

Hàm explode() trong PHP
Bài viết được sự cho phép của tác giả Kien Dang Chung Từ phiên bản PHP 4, có một số các hàm xử lý chuỗi rất tiện lợi như explode, implode… giúp cho công việc phân tích, sàng lọc chuỗi dễ chịu hơn nhiều. Trong bài viết này chúng ta sẽ làm quen với hàm explode trong PHP cùng với một số ví dụ hay dùng trong thực tế. 1. Cơ bản về hàm explode trong PHP Hàm explode trong PHP cho phép bạn chuyển một chuỗi sang một mảng dựa trên các ký tự phân cách. Trong thực tế, xử lý chuỗi là rất cần thiết và sử dụng khá thường xuyên, ví dụ khi bạn muốn tách họ và tên của một người dùng, tách từng từ khóa trong một danh sách từ khóa có phân cách bằng một ký tự nào đó… Cú pháp của hàm explode: explode ( separator , string , limit ) Trong đó: separator: ký tự hoặc chuỗi ký tự phân cách sử dụng để phân biệt các phần tử trong chuỗi. string: chuỗi cần tách thành mảng. limit: xác định số phần tử của mảng đầu ra. >0: trả về mảng có số phần tử là limit phần tử đầu <0: trả về mảng có số phần tử là limit phần tử cuối 0: trả về mảng với 1 phần tử Chú ý: Hàm explode được giới thiệu từ phiên bản PHP 4, tham số limit được thêm vào từ PHP 4.1 và hỗ trợ giá trị âm từ PHP 5.1.0. Tìm việc làm PHP đãi ngộ tốt trên Station D 2. Các ví dụ thực tế sử dụng hàm explode 2.1 Ví dụ đơn giản về explode Một cách đơn giản để lưu nhiều giá trị vào một cột đó là...

So sánh Laravel và Phalcon – Framework nào tốt hơn?
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ết bằng PHP (dù bạn sẽ code bằng php 100%). Nó là một phần mở rộng của C, bạn sẽ cần cài nó trên server hoặc local server đẻ có thể dùng nó yêu cầu biên dịch hoặc tải các bản biên dịch sẵn và kich hoạt thủ công trên web server của bạn. Điều này sẽ gây nhiều khó khăn nếu không thành thạo. Phalcon cũng cung cấp một công cụ là Phalcon devtools để giúp bạn tạo dự án và chỉnh sửa code. Phải nói thêm là khi tạo dự án, Phalcon thường nhanh hơn Laravel. Dó cài đặt Phalcon phức tạp hơn nên phần này Laravel thắng. Laravel : 1 Phalcon: 0 2. Cấu trúc file Đây là phần rất quan...

Đánh giá điểm mạnh và điểm yếu của PHP
Bài viết được sự cho phép của tác giả Đoàn Văn Tuyển Có quá nhiều ý kiến chê PHP. Thế nên dựa trên kinh nghiệm làm việc với PHP nên mình muốn viết lại những đánh giá của mình với ngôn ngữ trên. Những đáng giá bên dưới vừa so sánh với những thứ khác trên quan điểm PHP là Web Programing chứ không so với những mảng khác. Phần bài viết sẽ gồm 4 phần, phần đầu nói qua về cách thiết kế và thực thi của PHP, hai phần sau sẽ đánh giá điểm mạnh và điểm yếu của PHP dựa trên thiết kế đó, phần cuối mình viết khi nào nên sử dụng PHP, khi nào không: 1. Cách thức thực thi của PHP Như đã nói ở trên, mình chỉ nói về PHP Web (ko tính đến PHP chạy dưới dạng Command Line, thực thế PHP CLI có khác một chút nhưng không quá nhiều). 1.1 Kết nối với Web Server PHP không được thiết kế để trực tiếp handle request mà thông qua Web Server (Thông thường là Apache hoặc Nginx). Khi client (Web Browser / HTTP Client) gửi request lên Web Server. Web Server sẽ kết nối với PHP và tạo ra một tiến trình độc lập để xử lý request đó. Những tiến trình đó có thể là Process (với apache) hoặc thread (với Nginx / PHP-FPM). Tuy nhiên dù là process hay thread thì có một đặc điểm là những tiến trình đó không chia sẻ tài nguyên với nhau. Nghĩa là hai request của 2 client gửi lên thì tạo 2 tiến trình hoàn toàn tách biệt tài nguyên xử lý. Tài nguyên tách biệt bao gồm: RAM, CPU, kết nối… Sau khi request hoàn thành, kết quả trả về cho...

PHP – mười người mười ý những vẫn hot không tả nổi
Đã từng có không ít các thông tin bàn luận xoay quanh vấn đề lỗi thiết kế và tính không nhất quán của lập trình ngôn ngữ PHP. Vào năm 2012, một bài viết chia sẻ từ blogger Eevee đã được viết với tiêu đề “PHP: Một ngôn ngữ có thiết kế rất tồi” . Từ đó cuộc tranh luận về nhược điểm của ngôn ngữ lập trình này bắt đầu nhiều hơn: “Không có một triết lý thiết kế rõ ràng” , “PHP không tập trung như các ngôn ngữ khác”, “PHP thật tệ”… Tuy nhiên, chúng ta tự hỏi với vô số những ý kiến trái chiều ấy tại sao PHP lại vẫn được nhiều người sử dụng và phổ biến đến vậy? Theo W3Techs, có đến 82% website trong thế giới internet dùng ngôn ngữ lập trình PHP . Ngay cả các trang web nổi tiếng như Wikipedia, Facebook, WordPress…cũng đều đang được chạy bởi chính ngôn ngữ này. Vậy điều gì đã khiến độ hot của PHP vẫn chưa hề giảm nhiệt? Phổ biến và dễ tiếp cận Theo CEO của công ty Zend Technologies, ông cho biết: “PHP cho đến nay là ngôn ngữ lập trình web phổ biến nhất”. Với Josh Lockhart, một nhà phát triển web tại Media Campaigns, ông nhấn mạnh PHP được xem là một trong những ngôn ngữ lập trình web đơn giản và dễ diếp cận nhất ngày nay. Với tất cả những gì liên quan đến website, PHP đều có thể được áp dụng vào. Cấu trúc và câu lệnh của PHP cũng giống với C, Java nên bạn có thể dễ dàng nắm vững trong một thời gian ngắn nếu thường xuyên thực hành nhiều bài tập và dự án nhỏ. Xét về mức độ hiệu suất,...

Truy vấn cơ sở dữ liệu MongoDB bằng PHP
Bài viết được sự cho phép của smartjob.vn MongoDB hỗ trợ rất nhiều Driver cho các ngôn ngữ lập trình khác nhau. Trong bài viết này, SmartJob trình bày về việc kết nối, truy vấn từ PHP. Máy tính sử dụng: Windows 10, 64 bit, sử dụng bộ tích hợp XAMPP. Cài đặt MongoDB sử dụng MEAN stack (bạn xem các bài viết trước đã hướng dẫn cách cài đặt). Xem thêm việc làm mongoBD tại các công ty hàng đầu trên Station D Bước 1. Tải về tập tin mở rộng dll tại đường link: http://windows.php.net/downloads/pecl/releases/mongodb/1.1.4/php_mongodb-1.1.4-7.0-ts-vc14-x86.zip Bước 2. Giải nén. Copy file php_mongodb . dll vào thư mục ext, ví dụ trên máy của tác giả là: C : xampp php ext Bước 3. Tìm file php . ini , ví dụ, trên máy tác giả là: C : xampp php php . ini . Chèn vào cuối tập tin này: extension = php_mongodb . dll Bước 4. Giả sử có thư mục: C : xampp htdocs vy mongo – php Sử dụng cmd : Gõ lệnh: composer require "mongodb/mongodb=^1.0.0" để tải thư viện bằng Composer về. Composer tự động tải về và thư mục có thêm 1 thư mục và 2 tập tin mới: Tạo 3 tập tin info.php , add.php , find.php để kiểm tra các tính năng mà thư viện MongoDB PHP cung cấp: Tập tin info . php <?php phpinfo(); Tìm việc làm PHP đãi ngộ tốt trên Station D Tập tin add . php <?php require 'vendor/autoload.php'; $client = new MongoDBClient ( "mongodb://localhost:27017" ); $collection = $client->insource->devs; $result = $collection->insertOne ( [ 'fullname' => 'Phạm Văn Đoan', 'site' => 'Viettel Telecom' ] ); echo "Đã thêm thành công một document có ID là '{$result->getInsertedId()}'<br/>"; $result2 = $collection->insertOne ( [ 'fullname' => 'Lê Văn Kiên',...

Composer – Công cụ tuyệt vời dành cho PHP
Bài viết được sự cho phép của tác giả Nguyễn Trần Chung Trước khi Composer ra đời, chúng ta thường khó chịu với hàng tá các thư viện của bên thứ ba cần phải quản lý, rất khó khăn để cập nhật và còn lại các khâu cài đặt lằng quằng. Đó là quá khứ thôi, sự ra đời của Composer đã làm thay đổi hoàn toàn mọi thứ rồi. Trong bài viết này chúng ta sẽ tìm hiểu về Composer thực chất nó là gì . Composer là gì ? Composer là một công cụ quản lý sự phụ thuộc trong PHP . Nó cho phép bạn khai báo các thư viện mà dự án của bạn phụ thuộc vào và nó sẽ quản lý (cài đặt / cập nhật) các thư viện cho bạn. Composer là một mã nguồn mở (OpenSource) nên được cộng đồng hỗ trợ rất nhiều, bạn có thể tham gia phát triển, phát triển lại từ trang Github chính thức của Composer. Composer là gì? Quản lý các thư viện bằng composer Tại sao lại cần Composer? Như mình đã nói ở trên Composer ra đời để giải quyết các vấn đề khó khăn như dung lượng project sẽ lơn hơn, việc cập nhật cũng như chèn vào project rất phức tạp và phiền phức. Với composer, bạn sẽ cần khai báo tên và version của các thư viện mà bạn có sử dụng mà không cần phải tự tay chép code của nó vào project, composer sẽ tự động tìm và tải thư viện mà bạn cần trên Server, nếu trong thư viện đó có dùng các thư viện khác thì nó cũng sẽ tải các thư viện khác về, nó đệ quy cho đến khi tải đủ các thư viện, thật tuyệt...

PHP Developer là gì? Lộ trình trở thành PHP Web
Bài viết được sự cho phép của tác giả Phạm Bình Hello các bạn, Trong bài viết này mình sẽ chia sẻ với các bạn lộ trình để trở thành PHP web developer. Thực ra mình không rõ nên coi nội dung dưới đây là lộ trình, là kỹ năng, hay kiến thức nữa, nhưng đại loại nếu bạn muốn trở thành PHP web developer thì nội dung dưới đây sẽ có ích với bạn. I. PHP WEB DEVELOPER LÀ GÌ Tìm hiểu qua một chút về “cái đích” mà chúng ta sẽ hướng đến, thì PHP web developer là tên một nghề liên quan đến công việc lập trình web. Trong đó PHP là tên ngôn ngữ lập trình, web developer tạm dịch là “Người phát triển web”, vậy PHP web developer thì hiểu là “Người phát triển web sử dụng ngôn ngữ PHP” (Ngoài PHP thì còn nhiều ngôn ngữ khác cũng làm được web). Ok, dễ hiểu đúng không. Nhưng thực ra, cái tên “PHP web developer” thì là cách gọi vắn tắt của “ PHP/JavaSctipt/HTML/CSS/bla bla,… web developer “, nghĩa là để trở thành PHP web developer thì bạn cần phải học rất nhiều thứ, và PHP chỉ là một trong số chúng. 10 PHP Instagram Scripts & Widgets tốt nhất Câu chuyện trước khi PHP có composer Xem thêm tuyển dụng PHP lương cao trên Station D Giới thiệu thêm Để tạo ra một trang web, bạn sẽ cần các kiến thức: – Kiến thức về HTML/CSS/JavaScript: Dùng để tạo giao diện trang web. – Kiến thức về ngôn ngữ lập trình: Dùng để xử lý các tính năng có trên trang web (hiểu nôm na là vậy), và PHP là một ngôn ngữ lập trình. – Kiến thức về cơ sở dữ liệu: Là...

Sử dụng mảng đúng cách trong PHP – Bạn đã bao giờ nghĩ?
Điểm hấp dẫn nhất của PHP theo mình là Array, và hầu như trong code, mọi thứ đều là key => value. Do vậy mà bạn biết thêm những hàm built-in rẳng của PHP, mà xử lý cho lẹ là điều hết sức quan trọng. Nếu không, thay vì tập trung vào cái cần làm, bạn lại hì bục sáng tạo ra những cái hàm, ban đầu chỉ là để cho xong task, hoặc là xa hơn là để tự sướng. Nhưng kết quả là, rất ức chế cho thằng khác, vì nó phải suy nghĩ cái đó là cái gì? – Đây là note khá hay mình dẫn từ 1 post của bạn Trần Phong Phú (Fullstackdev tại Sendo). [ Xem thêm bài blog về associative array ] Mình vô tình đọc được 1 bài tuts hay của tác giả Anton Bagaiev nên lược dịch lại cho các bạn đọc, không bổ bề ngang cũng bổ bề dọc, chúc các bạn thu được kiến thức hữu ích. Trong bài tutorial này, mình sẽ liệt kê các hàm xử lý mảng thông dụng trong Php kèm theo ví dụ và cách sử dụng tốt nhất. Đã lập trình Php thì cần biết làm sao sử dụng và làm sao để phối hợp các hàm xử lý mảng để cho code dễ đọc và ngắn gọn hơn. Cơ bản Bắt đầu bằng 1 hàm cơ bản để xử lý keys và values của mảng. Một trong số đó là array_combine() , nó tạo 1 mảng kết hợp bằng cách trộn keys của 1 mảng này và values của 1 mảng khác, với điều kiện 2 mảng này bằng nhau. $keys = ['sky', 'grass', 'orange']; $values = ['blue', 'green', 'orange']; $array = array_combine($keys, $values); print_r($array); // Array // ( // [sky] =>...