Chủ Nhật, 10 tháng 3, 2013

Cắt chuỗi trong PHP với hàm substr()


Cắt chuỗi trong PHP với hàm substr()



Cũng như các ngôn ngữ lập trình khác, PHP hỗ trợ hàm substr() để cắt chuỗi con với chiều dài l bắt đầu từ vị trí thứ i từ chuỗi str được cung cấp.
Cú pháp.

String substr(string str, int i [, int l])

Trong đó: – int l: Tham số tùy chọn. Điều này có nghĩa là nếu bạn không cung cấp chiều dài của chuỗi cần lấy ra, hàm này sẽ trả về chuỗi con từ vị trí thứ i đến hết chuỗi như ví dụ sau:

<?php
$str=”Ho Tro Lap Trinh”;
echo $str.”<br/>”; // Hiển thị chuỗi gốc.
echo substr($str,1).”<br/>”; // Cắt chuối con từ vị trí 1 đến hết chuỗi
echo substr($str,-6).”<br/>”; //Cắt từ vị trí số 6 đếm từ cuối chuỗi đến hết chuỗi
echo substr($str,1,9).”<br/>”; // Cắt từ vị trí số 1 đến vị trí số 9
echo substr($str,2,-10).”<br/>”; //Cắt từ vị trí số 2 đến vị trí số 10 từ cuối chuỗi.
?>

Hàm __construct trong PHP5

Hàm __construct()

là hàm tự động  tự động chạy khi bạn khởi tạo khởi tạo object = new class?

cứ hiểu __construct trong PHP5 là để không phải viết lại 1 method cùng tên với class giống như trong PHP4 mà thôi, nhiệm vụ của nó là SET var. Cùng với __construct() là hàm __destruct() làm nhiệm vụ UNSET var. Hai methods này cùng với một số methods khác như __call(), __get(), __set(), __isset(), __unset()... trong PHP5 gọi là Magic Methods.

Thứ Ba, 5 tháng 3, 2013

Sự khác nhau giữa thuộc tính Public, Protected, Private

Public:  các thuộc tính hoặc các phương thức có thể truy xuất ra bên ngoài class

Protected: các thuộc tính các phương thức  không thể truy xuất ra bên ngoài class, nó chỉ được gọi trong class và class kế thừa

Private: các thuộc tính các phương thức không thể truy xuất ra bên ngoài class, nó chỉ được gọi trong phạm vi class

-----------------
Chế độ truy xuất công cộng (public): Các thành viên nếu được thiết lập ở chế độ này sẽ được nhìn thấy và truy xuất ở mọi nơi trong chương trình.

- Chế độ truy xuất riêng tư (private): Các thành viên nếu được thiết lập ở chế độ này sẽ chỉ được nhìn thấy và truy xuất được ở bản thân lớp định nghĩa thành viên đó.

- Chế độ bảo vệ (protected): Chế độ này sẽ được dùng để giới hạn truy cập tới các lớp được thừa kế và bản thân lớp định nghĩa thành viên đó.

Thay đổi port wamserver khi cài đồng thời WAMP Server và IIS


ví dụ như 8080 chẳng hạn cho WAMP Server để có thể chạy WAMP Server theo địa chỉ http://localhost:8080 và IIS 7 vẫn chạy ở địa chỉhttp://localhost như bình thường.
Để thực hiện được điều này, chúng ta cần thực hiện một số bước như sau:
  • Nhấn lên biểu tượng của WAMP Server trên thanh tác vụ và chọn Apache > httpd.conf để mở file cấu hình đó ra.
  • Đổi ‘Listen 80’ thành ‘Listen 8080’.
  • Lưu và khởi động lại WAMP Server.
Khi WAMP Server đã khởi động lại thành công, chúng ta có thể truy cập WAMP Server theo địa chỉ http://localhost:8080, còn ở địa chỉ http://localhost IIS 7 vẫn chạy bình thường sử dụng cổng mặc định (80).

Mô hình 3 tầng (3-tiers) là gì?


1. Mô hình 3 tầng (3-tiers) là gì?
Theo wikipedia:
TRÍCH DẪN:“3-tiers là một kiến trúc kiểu client/server mà trong đó giao diện người dùng (UI-user interface), các quy tắc xử lý (BR-business rule hay BL-business logic), và việc lưu trữ dữ liệu được phát triển như những module độc lập, và hầu hết là được duy trì trên các nền tảng độc lập, và mô hình 3 tầng (3-tiers) được coi là một kiến trúc phần mềm và là một mẫu thiết kế.” (dịch lại từ wikipedia tiếng Anh).
3-Tiers có tính vật lý (physical): là mô hình client-server (mỗi tier có thể đặt chung 1 nơi hoặc nhiều nơi, kết nối với nhau qua Web services, WCF, Remoting…). Như hình vẽ ta thấy 3 tầng rõ rệt 3 tầng:
+ Presentation tier bao gồm các thành phần phần xử lý giao diện Graphic User Interface (GUI)
+ Business tier gồm các thành phần Business Logic Layer (BLL), Data Access Layer (DAL) và Data Tranfer Object (DTO): xem thêm phần 3-layers
+ Data tier lưu trữ dữ liệu, là các hệ quản trị CSDL như MS SQL Server, Oracle, SQLite, MS Access, XML files, text files,…
Tuy nhiên bạn cần chú ý những ưu và nhược điểm sau đây để áp dụng nó một cách đúng đắn.
Ưu điểm:
- Dễ dàng mở rộng, thay đổi quy mô của hệ thống: Khi cần tải lớn, người quản trị có thể dễ dàng thêm các máy chủ vào nhóm, hoặc lấy bớt ra trong trường hợp ngược lại.
Nhược điểm:
- Việc truyền dữ liệu giữa các tầng sẽ chậm hơn vì phải truyền giữa các tiến trình khác nhau (IPC), dữ liệu cần phải được đóng gói -> truyền đi -> mở gói trước khi có thể dùng được.
- Việc phát triển ứng dụng phức tạp hơn.
2. Mô hình 3 lớp (3-layers) là gì?
Không như 3-Tiers có tính vật lý, 3-Layers có tính logic (mỗi layer có 1 công việc) và là 1 thành phần của 3-Tiers. Gồm 3 lớp chính:
+ Graphic User Interface (GUI): Thành phần giao diện, là các form của chương trình tương tác với người sử dụng.
+ Business Logic Layer (BLL): Xử lý các nghiệp vụ của chương trình như tính toán, xử lý hợp lệ và toàn vẹn về mặt dữ liệu.
+ Data Access Layer (DAL): Tầng giao tiếp với các hệ quản trị CSDL
Trong 1 số trường hợp vì lượng thông tin gởi nhiều ta có thể dùng Data Tranfer Object (DTO) để chuyển đối tượng hoặc danh sách đối tượng giữa các tầng với nhau cho tiện dụng.