Sơ lược về namespaces trong PHP

  • PHP and Mysql
  • 14 tháng 04 2017
  • bởi Văn Khương
  • 0 Comments

Xuất hiện từ phiên bản PHP 5.3.0, hiện được sử dụng rộng rãi trong nhiều PHP framework.

1. Khái niệm namespaces

Theo khái niệm từ php.net thì nó là cách để đóng gói những file php. Được thiết kế để giải quyết 2 vấn đề là thể hiện được tác quyền của thư viện đang sử dụng và sự đụng độ không gian tên trên những ứng dụng khi tạo ra những thành phần code tái sử dụng như các classes hay functions.

Cung cấp cách nhóm những thứ có liên quan lại như những classes,...

Một số lớp xuất dữ liệu dạng excel trong PHP

  • PHP and Mysql
  • 26 tháng 12 2012
  • bởi Văn Khương
  • 0 Comments

Khi xây dựng ứng dụng web bạn sẽ có nhu cầu xuất dữ liệu sang một số định dạng để báo cáo hay làm tài liệu lưu trữ khi cần, hoặc với mục đích nhập dữ liệu sang các hệ thống khác. Bạn có thể xây dựng cho mình một lớp xuất dữ liệu để dùng khi cần nhưng trước hết bạn nên tham khảo một số lớp được viết sẵn mà tôi sẽ giới thiệu sau đây.

class xlsStream

Đây là lớp được viết khá hay bằng cách đăng ký một giao thức có thể đọc và ghi dữ liệu với định...

Zend Framework: Zend_View Basic Placeholders

  • PHP and Mysql
  • 28 tháng 09 2012
  • bởi Văn Khương
  • 0 Comments

Bài viết trước có bàn đến placeholder kết hợp với một số Zend_View_Helper trong việc thay đổi nội dung phần tử <head> tùy theo từng controller hay action, bài viết này sẽ bàn đến việc tạo ra những thay đổi nội dung cho các phần tử khác trên layout, ví dụ như ứng dụng tạo cấu trúc phần sidebar.

Đầu tiên nếu bạn muốn cấu trúc HTML phần sidebar của bạn như sau:

<div class="sidebar"> <div class="block"> <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit. ...

Zend Framework: Zend_View Standard Placeholders

  • PHP and Mysql
  • 25 tháng 09 2012
  • bởi Văn Khương
  • 0 Comments

Hầu hết các placeholder được dùng cho việc tạo ra nội dung cho phần tử <head>, một vùng tiêu biểu không thể thao tác trực tiếp bằng tay thông qua những ứng dụng view script của bạn, chẳng hạn bạn muốn tạo ra đánh dấu thẻ <title> cho phần tiêu đề cho từng nội dung khác nhau trên mỗi trang, nhưng nội dung cụ thể thì được tạo thông qua controller - action. Bạn muốn những tập tin CSS riêng cho từng ứng dụng hay bạn cần những tập tin javaScript được tải ở những thời điểm khác nhau hay bạn muốn khai báo Doctype. Chúng ta sẽ...

Zend Framework: Zend_Session_Namespace

  • PHP and Mysql
  • 18 tháng 09 2012
  • bởi Văn Khương
  • 0 Comments

Thông thường việc sử dụng session cũng đơn giản nhưng Zend cũng đã viết cho chúng ta một ứng dụng Zend Session giúp chúng ta khai báo và thao tác với session nhanh gọn hơn, đặc biệt khi thao tác với giỏ hàng hay những ứng dụng sử dụng lượng session lớn, bài viết này sẽ giới thiệu về cách sử dụng lớp Zend_Session_Namespace() để tạo và thao tác với session .

Nếu chúng ta khai báo một đối tượng và tạo ra một thuộc tính như sau:

$defaultNamespace...

Hướng đối tượng trong PHP: Factory Pattern

  • PHP and Mysql
  • 16 tháng 08 2012
  • bởi Văn Khương
  • 0 Comments

Một mẫu thiết kế phổ biến khác là mẫu factory. Mục đích chính của mẫu này là cung cấp một đối tượng bằng cách ẩn đi những sự phức tạp đằng sau nó, điều này có nghĩa là chúng ta có một số lớp phức tạp nào đó mà được sử dụng theo từng ngữ cãnh cụ thể chúng có thể có một số chức năng, thuộc tính thống nhất theo một mô hình nào đó, có thể là một số lớp cấu trúc từ một lớp abstract chẵng hạn, chúng ta sẽ kết hợp chúng...

Lớp phân trang trong PHP (P2)

  • PHP and Mysql
  • 15 tháng 08 2012
  • bởi Văn Khương
  • 0 Comments

lop_phan_trang_trong_PHP_2

Bài viết trước có đề cập đến phân trang đơn giản với PHP. Bài viết này sẽ cải tiến thêm một chút về bài lớp phân trang với PHP trước. Cũng không có thay đổi gì nhiều ngoài việc sử dụng cấu trúc lớp, đồng thời khắc phục một số vấn đề:

Có thể phân trang cho tìm kiếm, theo chuyên mục hay các truy vấn có điều kiện Cách sử dụng...

Hướng đối tượng trong PHP: Singleton Pattern

  • PHP and Mysql
  • 12 tháng 08 2012
  • bởi Văn Khương
  • 0 Comments

Đây là mẫu thiết kế được các lập trình viên sử dụng phổ biến. Mục đích chính của mẫu Singleton là cung cấp một việc khởi tạo đối tượng chỉ duy nhất một lần cho dù bạn gọi lại nó bao nhiêu lần, điều này giúp tiết kiệm bộ nhớ và ngăn chặn việc tạo ra nhiều lần khởi tạo đối tượng, mẫu Singleton được sử dụng để nâng cao hiệu xuất thực thi ứng dụng. Xem ví dụ sau để hiểu rõ điều này.

class A{ private static $a; public function __construct(){ if(!self::$a){ self::$a...

Hướng đối tượng trong PHP: Một số hàm lấy thông tin

  • PHP and Mysql
  • 29 tháng 07 2012
  • bởi Văn Khương
  • 0 Comments

PHP đã cung cấp một số hàm để chúng ta lấy thông tin của đối tượng, điều này sẽ giúp ích khi chúng ta làm việc với những mô hình lớn và sử lý những tính huống cần thiết. Bài viết này sẽ giới thiệu về các hàm như get_class, get_parent_class, get_class_vars, get_class_methods, get_object_vars.

get_class()

Hàm này sẽ trả về tên lớp của đối tượng, chúng ta sẽ xét đến 2 trường hợp là sử dụng bên trong lớp và bên ngoài lớp

Nếu sử dụng bên ngoài...

Hướng đối tượng trong PHP: kiểm tra đối tượng

  • PHP and Mysql
  • 27 tháng 07 2012
  • bởi Văn Khương
  • 0 Comments

Trong một số trường hợp bạn cần phải kiểm tra lớp cha hoặc lớp của một đối tượng nào đó, PHP cung cấp hai cách cơ bản là dùng hàm is_a() và sử dụng từ khóa instanceof, kết quả trả về là true/false.

Để kiểm tra phương thức có tồn tại không ta có hàm method_exists(), hàm này có đối số thứ nhất là đối tượng, đối số thứ hai là tên phương thức cần kiểm tra, kết quả trả về là true/false.

Để kiểm tra thuộc tính có tồn tại không ta có hàm property_exists(), hàm...