Sinh code tự động với cake console
Nếu lần đầu tiên bạn dùng CakePHP, bạn không rõ cách thức code như thế nào, bạn cần ví dụ mẫu, và cake console là giải pháp nhanh gọn nhất cho bạn.
Code do cake console tạo ra rất “trong sáng, đơn giản”, giúp bạn hiểu một cách nhanh chóng thay vì phải tải các bộ mã nguồn người khác viết về xem nhức cả đầu!
Bài viết này mình demo qua file video, các bạn chỉ cần xem kỹ và thực hành theo, chú ý các câu hướng dẫn của cake console để thực hiện command cho chuẩn
Để việc viết command nhanh gọn hơn, chúng ta đưa các lệnh của php và cake console thành lệnh môi trường của windows (đứng ở đâu trong cửa sổ command cũng thực hiện được lệnh). Mình dùng wamp 2.0i trong demo này.
1. Thiết lập môi trường
- Nhấn phải chuột vào My Computer chọn Properties
- Chọn tab Advanced trên cửa sổ mới, chọn tiếp Environment Variables
- Tìm và nhấn chuột lên dòng Path trong mục System variables, chọn Edit
- Thêm vào phía sau dữ liệu hiện có đường dẫn tới thư mục chưa file thực thi của php và đường dẫn tới thư mục console của thư viện cakephp (dùng dấu ; để ngăn cách)
E:\wamp\bin\php\php5.3.0; E:\wamp\www\cakephp-1.3.3\cake\console; |
(đường dẫn của bạn có thể khác)
2. Tiến hành sinh code tự động
2.1. Một số lưu ý
- Mình tải bản cakephp 1.3.3 về bỏ vào thư mục www
- Mình tạo một thư mục dự án riêng trong www có tên cake_console
- Sinh code phải theo trình tự: có model rồi mới có controller và cuối cùng là view. Nếu làm sai trình tự sẽ sinh lỗi
2.2. Tạo dự án
- Mở cửa sổ command line (vào Start/Run gõ cmd)
- Gõ lệnh:
cake bake |
Khi đó cake sẽ hỏi bạn đường dẫn tới thư mục dự án bạn muốn tạo, bạn gõ đường dẫn vật lý tới thư mục dự án cake_console (E:\wamp\www\cake_console)
Tiếp theo, cake console sẽ tự động tạo cho bạn tất cả những gì cần thiết để bắt đầu một dự án với cakephp, toàn bộ file, thư mục sẽ nằm trong thư mục cake_console. Với cách làm này, bạn chỉ cần một thư viện cakephp trong khi có cả tỉ dự án! Không nhất thiết một dự án phải copy theo 1 thư viện cakephp trừ khi đưa lên hosting.
Bạn lưu ý, khi đó file index.php trong webroot sẽ có chỗ khác so với việc để chung thư viện cakephp với thư mục dự án
if (!defined('CAKE_CORE_INCLUDE_PATH')) { define('CAKE_CORE_INCLUDE_PATH', 'E:' . DS . 'wamp' . DS . 'www' . DS . 'cakephp-1.3.3'); } |
khi đưa lên hosting, bạn phải chú ý chỗ này nếu không website của bạn sẽ không chạy vì không tìm thấy thư viện cakephp
2.3. Mời bạn xem video
- Tải file avi chất lượng cao, đã nén lại còn 3.95MB, dung lượng sau khi giải nén: 208MB -> Tải file tại đây
- Xem online thì hơi mờ
- Phần 1:
- Phần 2:
- Bài viết tại diễn đàn: http://cakephpvn.org/forum/showthread.php?tid=66&pid=272
13 Comments to “Sinh code tự động với cake console”
Post comment
Bài viết mới
- CakePHP version 1.3.12
- Tạo chuỗi ngẫu nhiên với 1 dòng code
- Kỹ thuật “bit field” trong phân quyền
- Làm việc với File và Folder
- CakePHP 1.3.8
- CakePHP 1.3.7 Released
- Ajax trong CakePHP
- Tạo và load file config trong CakePHP
- Làm site đa ngôn ngữ với CakePHP (Phần 1)
- CakePHP 1.3.6 and 1.2.9 released
- CakePHP 1.3.5 released
- Type hinting trong PHP
- CakePHP ra phiên bản mới 1.3.4
- Tích hợp Zend framework vào CakePHP
- Tạo virtual host trên local
- Sử dụng Acl trong cakephp – Phần 2
- Sử dụng Acl trong cakephp – Phần 1
- Sinh code tự động với cake console
- Tự động xóa record ở bảng con khi reocord ở bảng cha bị xóa
- Xác thực người dùng với component Auth
Thảo luận mới
- admin on Cách viết plugin cho CakePHP
- vinh on Xác thực người dùng với component Auth
- vinh on Sử dụng Acl trong cakephp – Phần 1
- hoaipt on Cách viết plugin cho CakePHP
- tuyền on Kỹ thuật “bit field” trong phân quyền
- admin on Tạo danh mục đa cấp với behavior Tree
- admin on Làm việc với File và Folder
- admin on Sinh code tự động với cake console
- admin on Kỹ thuật “bit field” trong phân quyền
- phùng ngọc lan on Tạo danh mục đa cấp với behavior Tree
TAG
Calendar
Lưu trữ
- September 2011 (3)
- July 2011 (1)
- March 2011 (1)
- February 2011 (1)
- November 2010 (4)
- October 2010 (1)
- September 2010 (2)
- August 2010 (9)
- July 2010 (9)
- June 2010 (22)
Blogroll
- Bakery
- Biển đảo Việt Nam
- CakePHP
- CakePHP Google Group
- CakePHP Manual
- CakePHP Questions
- Diễn đàn CakePHP VN

admin

bạn ơi, mình coi phim của bạn. nhưng bạn không chú thích bằng lời nên nhiều khi mình xem cũng không hiểu. Mong bạn sẽ làm tốt hơn.^^
Cám ơn bạn, vì mình làm cái này ở công ty nên không lồng tiếng vô được, với lại cái máy của mình hơi yếu, dùng phần mềm để lồng tiếng vào chạy không nổi, chắc sẽ dùng file word để diễn giải!
admin mình sinh code cho news_catagories rồi đến khi sinh code cho news báo lỗi không thấy news_catagories cho catagory là sao bạn
Khi sinh code cho news nếu bạn thiết lập quan hệ với new_categories thì bạn phải gõ tay tên model NewsCategory vô vì mặc định nó hiểu là Category chứ không phải là NewsCategory
Admin cho hỏi muốn đổi lại tên hiển thị của cột thì làm sao
VD: trong database có cột tên là “name” bây giờ tôi muốn hiển thị ra bên ngoài danh sách đổi lại là “Họ tên” thì làm sao?
tôi xem trong file index có đoạn như thế này
Paginator->sort(‘name’);?>
sau đó tôi đổi lại thành
Paginator->sort(‘Họ tên’);?>
thì nó không còn sort được nua
Paginator->sort(‘name’); nghĩa là sắp xếp theo cột name, đổi cái này mà nó không phải tên field trong table thì sẽ lỗi
Muốn text theo ý mình thì bạn dùng:
< ?php echo $this->Paginator->sort(‘Họ tên’, ‘name’); ?>
Hi bạn anh admin
cho mình hỏi chút về vấn đề sinh code bằng dòng lệnh ở trên
hiện thì mình cấu hình project trên easyphp hiện tại minh gặp một số vấn đề như sau:
mình đã tạo xong project và khi tạo model thì trên Windows power shel xuất hiện lỗi :
Fatal eror: Call to undefined function mysql_query() in F:\Easyphp\EasyPHP-5.3.6.1\www\cakephp-1.3.10\cake\libs\model\datasources\dbo\dbo_msql.php on line 609
và trên tran web khi chạy xuất hiện lỗi sau:
Your tmp directory is writable.
URL rewriting is not properly configured on your server.
Help me configure it
I don’t / can’t use URL rewriting
mong mọi người giúp mình vấn đề này với :d mình mới vào nghề nên còn hơi thiếu kinh nghiệm
Thanks All
1. Bạn kiểm tra trong php.ini xem nó có load cái module php_mysql lên chưa
2. Bận bật mod_rewrite cho apache
thank anh admin.
2 bước bạn nêu mình đều đã làm rùi nhưng hiện tại thì vẫn còn lỗi trên windows power shell
Fatal eror: Call to undefined function mysql_query() in F:\Easyphp\EasyPHP-5.3.6.1\www\cakephp-1.3.10\cake\libs\model\datasources\dbo\dbo_msql.php on line 609
cái này mình không hiểu nguyên nhân là như thế nào, mình đã cấu hình lại moi thứ như trong video trên nhưng hiện tại vẫn còn lỗi này
mong mọi người giúp đỡ mình
Thank all!
Hi all
thank bạn admin mình đã fix xong 2 lỗi hôm trước nhưng hiện tại mình đang vướng 1 lỗi nhỏ
khi mình thêm 1 news nhưng phần category không show ra được nhóm các tin mình đã tạo trước. xem trên video thì mình thấy admin thay newsCategories bằng categories thì nó show ra được mình chưa hiểu tại sao lại thay như vậy thì phần category lại show ra được trong quá trình thêm news vào DB
Mong anh admin giải thích giúp mình. mấy hôm nay vọc mãi vẫn chưa hiểu bản chất của vẫn đề này
thank admin
Ý bạn là cái combobox chọn category? Chỗ đó bạn có thể làm cách khác đi, bạn sử dụng $form->select cho chắc ăn
Hi admin!
:d mình làm được rùi, thank bạn admin
Nhân tiện cho mình hỏi thêm vấn đề:
Hiện tại mình có một project xd chương trình chữ ký số trên nền tảng web và mình đang thực hiện dựa trên nền của cakephp và có sử dụng thư viện Openssl (openssl-1.0.0c), Do mới làm quen với cakephp nên mình không chưa rõ cấu hình như thế nào để có thể dùng thư viện này trong cakephp.
Mong mọi người giúp đỡ,
thank all!
Hình như câu hỏi của bạn có post trong diễn đàn và bạn làm ok rồi thì phải