Các bản tin khác
CakePHP Framework
CakePHP Framework: Cách viết 1 component trong CakePHP
Component là những thành phần mở rộng trong CakePHP Framework. Cho phép người sử dụng tùy biến và sử dụng nó linh hoạt. Chẳng hạn như một số component hữu ích trong cakePHP mà chúng ta thường dùng như: ACL (phân quyền), mail, time, security,...Ngoài ra, để thực hiện những mục đích riêng biệt. CakePHP cũng cho phép người sử dụng tự thêm thắt hoặc viết riêng một component để phục vụ cho ứng dụng của mình.
Để sử dụng các component có sẵn trong CakePHP Framework, trong controller ta khai báo:
Giả sử tôi muốn loại bỏ dấu tiếng Việt các bài viết mà tôi nhận được từ user, không chỉ các bài bình luận về sản phẩm mà cả các bài bình luận về dự án, về hình ảnh nào đó trong website của tôi…

Cách đặt tên cho 1 Class Component :
Tên lớp helper = tên comonent + "Component"
Component mà tôi muốn tạo ra có tên là Common, class tương ứng là CommonComponent và file tương ứng là common.php (app/controllers/components/common.php)

Nội dung file common.php như sau:
Tuy nhiên ,code bạn vẫn chạy được nhưng sẽ nhận được thông báo lỗi như sau :
Warning (2): call_user_func_array() [function.call-user-func-array]:…
Thêm vào Class Component của bạn dòng code dưới đây :
Vậy Component Common hoàn chỉnh của tôi như sau :
(app/controllers/components/common.php)
Cách sử dụng lớp Component Common vừa mới tạo :
Tôi tạo 1 Controller tên Testcommons (app/controllers/ testcommons _controller.php) sử dụng lớp Comonent Common vừa tạo
Tạo file test_component.ctp (app/views/testcommons/ test_component.ctp)
Chạy thử : http://localhost/cakephp/testcommons/test_component
Chú ý :
Biến $components được khai báo trong Controller nào thì chỉ dùng được trong Controller đó
Nếu tôi khai báo trong Controller NewsController thì sang trang Controller Product, dùng $this->Common->unicode_convert() sẽ bị báo lỗi ngay! Như vậy không áp dụng được tính chất “dùng mọi lúc, mọi nơi” .
Nhưng không sao, ta có thể giải quyết vấn đề này bằng cách:
- Tạo file app_controller.php đặt trong thư mục app, nội dung file này như sau:
Mọi thứ đặt trong AppController sẽ có tác dụng trên toàn bộ các Controller khác, do đó ta chỉ cần khai báo(Thái Thanh Phong)
808
Bạn vẫn chưa hiểu rõ vấn đề ?. Bạn vẫn còn nhiều điều thắc mắc ?. Bạn gặp lỗi khi thực hành mã lệnh trên ?. Hãy tham gia diễn đàn QHOnline.Info để nhận được sự giúp đỡ từ phía cộng đồng nhanh nhất. Đồng thời tải những tài liệu giá trị tại diễn đàn. Việc đăng ký là hoàn toàn miễn phí, hãy đăng ký ngay để chúng tôi giúp đỡ bạn nhé.
Ghi rõ nguồn từ website QHOnline.Info - Khi bạn phát hành lại thông tin từ website này
PHP Framework những điều nên và không nên
Khái quát về PHP Framework
Học PHP như thế nào khi bạn chưa biết lập trình?
Tự học lập trình PHP dễ hay khó ?
Web 2.0 - Khái niệm và bản chất của chúng như thế nào ?


