banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành Windows Biến (kiểu) đối tượng trong PHP?  XML
  [Programming]   Biến (kiểu) đối tượng trong PHP? 02/12/2008 09:38:42 (+0700) | #1 | 160983
[Avatar]
60487
Member

[Minus]    0    [Plus]
Joined: 08/07/2008 21:37:31
Messages: 33
Offline
[Profile] [PM] [Email] [Yahoo!]
Chào mọi người!
1. Có ai làm web theo kiểu hướng đối tượng trong PHP không? Nếu biết thì xin chỉ giúp cho mình trong PHP làm thế nào để sử dụng một biến kiểu đối tượng (như Java).

2. Mình định làm một bolg cá nhân bằng PHP như sau:



Mục đích là lưu tất cả những kiến thức mình học được từng ngày má thôi. Tất cả các môn học khác đều có chung cách hiển thị như vậy. Mình thích viết theo kiểu hướng dối tượng nhưng hơi khó khăn ở chổ trừu tượng hóa dữ liệu (he he .. chổ quan trọng nhất). mình đang lúng túng trong việc thiết kế các class sao cho hợp lý. Có bạn nào cho mình một vài gợi ý nên tạo những class nào, lý do và các phương thức của class đó không nhỉ?
Hiện tại mình cũng đã tạo được vài class nhưng thấy rối quá, chỉ có mới tạo được class data (dùng đóng mở kết nối) là thấy ổn thôi.
Có bạn nào đã từng làm hay có kinh nghiệm xin chỉ giúp!

class DataServer
{
// khai bao bien the hien
private $host;
private $user;
private $password;
private $dbName;
private $conn;

public function __construct()
{}
public function connect()
{}
public function disconnect()
{}
}
[Up] [Print Copy]
  [Question]   Re: Biến (kiểu) đối tượng trong PHP? 02/12/2008 13:14:11 (+0700) | #2 | 161018
[Avatar]
WinDak
Researcher

Joined: 27/01/2002 11:15:00
Messages: 223
Offline
[Profile] [PM]
Đối với lập trình web = OOP bạn nên xem thử coi độ complicated của website mình thế nào. Nếu 90% là web tĩnh thì sử dụng OOP giống như lấy dao mổ trâu đi giết ruồi.

Nếu bạn làm web động - nghĩa là sử dụng nhiều database, update thông tin liên tục, interactive với người dùng qua form, etc... thì theo kinh nghiệm bản thân trước nhất phải xem là phần nào của hệ thống của bạn bị ảnh hưởng thay đổi nhiều nhất, thì phần ấy sẽ form thành 1 class.

Ví dụ những thứ sau bạn có thể form class (nhìn qua website của bạn) :
- database
- categories
- article
- mainpage
- templete
...

Trong index bạn có thể để :

Code:
// include class
$main = new main();
$article = new article(...);
$categories = new categories(..);
$template = new template(xxx);
$template->setArticleList($article);
$template->setCategories($categories); 
$main->build($templete);


Đây chỉ là 1 ví dụ, còn rất nhiều cách để optimize. Bạn cũng có thể tham khảo thêm 1 số Design Pattern như Model-View-Controller(MVC), rất hữu ích khi build 1 website lớn.



-- w~ --
[Up] [Print Copy]
  [Question]   Re: Biến (kiểu) đối tượng trong PHP? 10/12/2008 10:43:00 (+0700) | #3 | 161888
[Avatar]
60487
Member

[Minus]    0    [Plus]
Joined: 08/07/2008 21:37:31
Messages: 33
Offline
[Profile] [PM] [Email] [Yahoo!]
Cảm ơn bạn đã giúp mình nhé, câu trả lời của bạn thực sự rất có ích cho mình. Cho mình hỏi luôn:
Class Template ở đây có phải ý bạn muốn nói đến việc tách riêng giao diện với nội dung phải không? với lại bạn cho mình một ví dụ (một vài phương thức của lớp categories được ko). Hơi nhiều nhưng nhờ các bạn chỉ giúp luôn :
Giả sử mình có một đối tượng page (các thuộc tính : trang,..). Nếu có 1 liên kết thì mình có thể có cách nào để thay đổi giá trị thuộc tính trang của đối tượng page($page->trang = x) khi người dùng click vào liên kết đó không?
Ví dụ như tại trang web trên của mình, có một danh sách các bài viết, chúng ta đang ở trang thứ nhất. Khi kich vào trang2 thì chúng ta sẽ cập nhật lại $page->trang = 2, sau đó tại hàm phân trang chúng ta sẽ dùng $this->trang thay cho việc phải dùng một biến page được lấy từ URL.

Tức là mình muốn dùng thay nó cho các biến lấy từ URL bằng phương thức GET.
[Up] [Print Copy]
  [Question]   Re: Biến (kiểu) đối tượng trong PHP? 11/12/2008 10:50:00 (+0700) | #4 | 161984
[Avatar]
60487
Member

[Minus]    0    [Plus]
Joined: 08/07/2008 21:37:31
Messages: 33
Offline
[Profile] [PM] [Email] [Yahoo!]
Thử đặt một câu hỏi thông minh:

1. Mình đang làm một trang web vói PHP theo hướng Hướng đối tượng. Khi thiết kế lớp baiViet (các thuộc tính: trang, idBaiViet, idBinhLuan....các phương thức: themBaiViet, xoaBaiViet, phanTrangBaiViet...) mình muốn làm một điều là:
Dùng các biến thể hiện(các thuộc tính) thay cho việc sử dụng các biến khác -
Lấy một ví dụ là mình có một trang index.php, tại trang này mình xuất từ CSDL ra tiêu đề của tất cả các bài viết. Số lượng bài viết quá nhiều nên mình phải phân trang, và tất nhiên là khi phân trang thì phải có một biến trang để chứa trang hiện tại đang hiển thị (trên URL là : index.php?trang=x).
Nhưng đối tượng baiViet của mình có hàm phân trang và có thuộc tính trang, mình sẽ đặt giá trị ban đầu cho thuộc tính này = 1. Khi người dùng kich vào một link (ví dụ như là trang2 thì mình sẽ đặt lại giá trị của thuộc tính này là 2. Sau đó gọi hàm hiển thị nội dung của trang2, hàm này căn cứ vào baiViet->trang để tính toán số mẫu tin cần hiển thị chứ không cần đến biến trang lấy từ URL nữa. Như vậy thì URL sẽ ngắn gọn hơn và quan trong là không có biến nào dugf phương thức get để lấy.
Đó là điều mình muốn làm nhưng khi thực hiện thì gặp một vướng mắc là chưa biết cách nào để đặt lại giá trị của thuộc tính khi người dùng onclick vào một link. Nhờ mọi người giúp đỡ!
[Up] [Print Copy]
  [Question]   Re: Biến (kiểu) đối tượng trong PHP? 11/12/2008 13:25:42 (+0700) | #5 | 161991
[Avatar]
learn2hack
Elite Member

[Minus]    0    [Plus]
Joined: 29/06/2006 16:32:37
Messages: 825
Offline
[Profile] [PM] [WWW]
Bạn thử với AJAX xem sao.
Blog: http://hontap.blogspot.com
Tải phần mềm miễn phí: http://www.taiphanmem.org
[Up] [Print Copy]
  [Question]   Biến (kiểu) đối tượng trong PHP? 11/12/2008 21:44:55 (+0700) | #6 | 162007
[Avatar]
K4i
Moderator

Joined: 18/04/2006 09:32:13
Messages: 635
Location: Underground
Offline
[Profile] [PM]

60487 wrote:
Chào mọi người!
1. Có ai làm web theo kiểu hướng đối tượng trong PHP không? Nếu biết thì xin chỉ giúp cho mình trong PHP làm thế nào để sử dụng một biến kiểu đối tượng (như Java).
 


Một câu hỏi thông minh: MVC là cái gì, Web 3-tier là cái gì rồi hãy nghĩ đến việc làm web theo kiểu hướng đối tượng smilie
Sống là để không chết chứ không phải để trở thành anh hùng
[Up] [Print Copy]
  [Question]   Biến (kiểu) đối tượng trong PHP? 12/12/2008 00:35:44 (+0700) | #7 | 162020
nbthanh
HVA Friend

Joined: 21/12/2001 14:51:51
Messages: 429
Offline
[Profile] [PM]

K4i wrote:

60487 wrote:
Chào mọi người!
1. Có ai làm web theo kiểu hướng đối tượng trong PHP không? Nếu biết thì xin chỉ giúp cho mình trong PHP làm thế nào để sử dụng một biến kiểu đối tượng (như Java).
 


Một câu hỏi thông minh: MVC là cái gì, Web 3-tier là cái gì rồi hãy nghĩ đến việc làm web theo kiểu hướng đối tượng smilie 

Ngược lại mới đúng! Nắm vững OOP (học bò) đã rồi hãy lo tiếp tới mấy cái khác (học chạy)!
[Up] [Print Copy]
  [Question]   Re: Biến (kiểu) đối tượng trong PHP? 12/12/2008 08:43:31 (+0700) | #8 | 162080
[Avatar]
60487
Member

[Minus]    0    [Plus]
Joined: 08/07/2008 21:37:31
Messages: 33
Offline
[Profile] [PM] [Email] [Yahoo!]
Hi`. Cảm ơn tất cả mọi người vì MVC, AJAX.
Bị châm đúng là hơi đau nhưng có ích!
[Up] [Print Copy]
  [Question]   Re: Biến (kiểu) đối tượng trong PHP? 19/12/2008 03:43:02 (+0700) | #9 | 163050
[Avatar]
SuperChicken
Elite Member

[Minus]    0    [Plus]
Joined: 11/07/2006 18:31:27
Messages: 635
Location: bottom of hell
Offline
[Profile] [PM]
Hehe, anh nbthanh nói chuẩn quá, phải vững OOP thì mới có thể hiểu MVC chứ, bởi vì MVC là 1 design pattern, mà design pattern thì lại dựa trên OOP.
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|