Hướng dẫn dùng pear picker trong PHP
Show Định nghĩa và cách dùng include và require
include
Cấu trúcđường_dẫn_file/tên_file"; ?> Ví dụ:
Ta thấy nội dung 2 file header.php và footer.php đã được thêm vào. Download file ví dụ include với file không tồn tại// Giả sử file header.php không có Warning: include(header.php): failed to open stream: No such file or directory in C:\xampp\htdocs\example\index.php on line 1 Warning: include(): Failed opening 'header.php' for inclusion (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\example\index.php on line 1 Content Ta thấy trình duyệt gửi cảnh báo, tuy nhiên những PHP vẫn thực thi những đoạn code bên dưới. require
Cấu trúcđường_dẫn_file/tên_file"; ?> Ví dụ:
Nội dung 2 file header.php và footer.php đã được thêm vào. Download file ví dụ require với file không tồn tại// Giả sử file header.php không có Warning: require(header.php): failed to open stream: No such file or directory in C:\xampp\htdocs\example\index.php on line 1 Fatal error: require(): Failed opening required 'header.php' (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\example\index.php on line 1 Ta thấy trình duyệt gửi cảnh báo, và những đoạn code bên dưới đã không được thực thi. PHP include và require với pathLưu ý: nếu chưa được cấu hình đường dẫn tương đối (relative path) thì dễ xảy ra lỗi khi dùng Sử dụng đường dẫn tuyệt đốiSử dụng cách này cần kích hoạt
Download file ví dụ Sử dụng DOCUMENT_ROOT
Download file ví dụ Traits là gì?Nhiều developer nhầm lẫn "Traits", một khái niệm mới trong php 5.4.0. Traits hoạt động như các lớp nhưng lại giống như interface.Một đặc điểm của Traits là triển khai thực hiện 1 phần (vd: hằng số, thuộc tính, phương thức) có thể được dùng bởi một hay nhiều class php. Nội dung chính
Nội dung chính
Bạn có thể quen thuộc với các đặc điểm của trait trong các ngôn ngữ khác. Php traits giống như là các modules composable của Ruby, or mixins (vue...). Khái niệm Trait chúng ta hiểu đơn giản như sau: gom những đoạn code trùng lặp ra một nơi sử dụng ơ nhiều nơi và nếu cần thay đổi bạn chỉ cần sửa đổi ở một file duy nhất. Nó là một bổ sung cho thừa kế truyền thống, áp dụng cho các lớp mà không yêu cầu thừa kế. Cũng giống như Abstract Class chúng ta không thể khởi tạo một đối tượng mới từ Traits. Cách sử dụng TraitVí dụ ta có 1 bài Blog muốn get Post content, và Comment cũng muốn get bài Post thì ta viết như sau: sử dụng từ khóa
class Blog
class Comment
dùng use để import trait Tại sao chúng ta sử dụng traits?PHP chỉ cho phép mỗi class thừa kế từ tối đa là 1 class khác. trong khi trait có thể hỗ trợ đa kế thừa. ví dụ ta tạo thêm một trait để get user name
cách dùng thêm trait:
Nhiều bạn sẽ thắc mắc tại tai sao không dùng implement nó cũng hỗ trợ đa kế thừa?. Implements nó giúp cho chúng ta thực hiện lại các khuân mẫu mà interface đã định ra. Interface thì chỉ có thể khai báo phương thức chứ không được triển khai code cho phương thức đó, còn trait thì có thể. -Và trait giúp chúng ta tránh việc lặp code Generator là gì?-Generator là thuật ngữ được PHP hỗ trợ từ phiên bản 5.5 trở lên, nó hỗ trợ chúng ta có thể truy xuất dến dữ liệu trong mảng mà không cần lưu trữ mảng trên bộ nhớ. -Để sử dụng generators thì chúng ta sẽ dùng từ khóa yield thay cho return thông thường -Một số lưu ý khi dùng generator
Một số hàm trong generator
so sánh khi dùng generatorcase 1: biến max = 1000000; khi ko dùng generator
kết quả
khi sử dụng generator, ta viết lại function như sau:
kết quả sau khi chạy:
case 2: ta tăng biến max = 10000000; ko dùng generator
có dùng:
Theo kết quả test ta thấy dùng generator giúp tiết kiệm memory của server như thế nào =)) Associative arrays trong generatorPHP cũng hỗ trợ các mảng kết hợp và các generator cũng như thế. Ví dụ:
kết quả sau khi chạy:
Tại sao nên sử dụng generatorTrong nhiều trường hợp chúng ta muốn xử lý một tập dữ liệu lớn (ví dụ như dữ liệu từ các file log hệ thống, csv, xml...) hoặc muốn tính toán xử lý trên một mảng với vô cùng lớn các phần tử. Rõ ràng chúng ta không hề muốn việc xử lý trên các tập dữ liệu đó chiếm dụng một lượng lớn thậm chí là tất cả bộ nhớ của chúng ta và việc nên làm là tìm cách tiết kiệm bộ nhớ càng nhiều càng tốt. Thay vì phải lưu trữ cả một tập dữ liệu lớn như vậy, chúng ta có thể sử dụng các generators để lấy ra các dữ liệu nào cần thiết. Tài liệu tham khảohttps://secure.php.net/manual/en/language.generators.syntax.php https://secure.php.net/manual/en/language.generators.overview.php http://php.net/manual/en/language.oop5.traits.php ... |