Bài 2 - Cách viết 1 module

Thảo luận trong 'Phpfox' bắt đầu bởi PeaJaStr, 29/3/15.

  1. PeaJaStr

    PeaJaStr Moderator Staff Member

    Tham gia:
    27/3/15
    Bài viết:
    193
    "Thích" đã nhận:
    54
    Điểm nhận Cup:
    28
    Giới tính:
    Nam
    Ở bài trước , mình đã hướng dẫn tạo Product, Module bằng giao diện AdminCp..bây giờ hoàn toàn có thể export product và module ở bài trước (Nó sẽ chứa file .xml để cài đặt)

    Ở bài này mình sẽ hướng dẫn cách viết 1 module đơn giản nhất :
    Tiếp theo seri bài trước , sẽ viết module demo1 .

    Đầu tiên chúng ta bật IDE để code phpfox lên (ở đây mình dùng Php Storm)
    Các bạn tạo 1 folder tên là demo1 nằm trong thư mục module
    Sau đó tạo cây thư mục trong thư mục demo1 như hình vẽ sau
    [​IMG]

    Mình sẽ giải thích cấu trúc thư mục ở một bài khác , bài này sẽ trọng tâm vào viết module để cho nó chạy và đổ ra view
    Tiếp tục tạo 2 file như hình vẽ
    [​IMG]

    Phpfox quy định các file template đều có đuôi là html.php
    các file model, lib, controller có đuôi là class.php
    file plugin có đuôi là .php

    Mở file index.class.php các bạn vừa tạo. Paste đoạn code sau vào

    PHP:
    <?php

    class Demo1_Component_Controller_Index extends Phpfox_Component {
        public function 
    process() {
            
    $this->template()->setTitle("LaptrinhPhpviet.com")
             ->
    assign(array(
                
    'sText' => 'Hello LaptrinhPhpviet.com'
            
    ));
        }
    }
    Mở file index.html.php paste dòng này vào

    HTML:
    {$sText}
    Kết quả:

    [​IMG]

    Như vậy ở trên mình đã tạo 1 Product là laptrinhphpviet_demo1 , một module là demo1 trong module này có file index có chức năng in ra đoạn text "Hello Laptrinhphpviet.com"

    Mình xin giải thích các chạy của nó như sau :
    Đầu tiên là file Index.class.php

    Dòng đầu:
    class Demo1_Component_Controller_Index extends Phpfox_Component

    Các bạn nhìn vào tên class. Nó giống với cấu trúc folder mà chúng ta vừa tạo ra.. Các chữ cái đầu viết hoa.
    Giải sử file của chúng ta là index-test.class.php
    thì class sẽ là Demo1_Component_Controller_Index_Test

    Từ khóa extends - hiểu nôm là là thừa kế, extends Phpfox_Component là thừa kế lớp Phpfox_Component. Khi học về service sẽ là extends Phpfox_Service

    Function trong controller chạy là public function process

    Func này có chức năng là load những thứ cần thiết và đổ ra view . Để gán một biến thì ta dùng lệnh:

    $this->template()->assign
    Như ở trên mình đã gán
    'sText' => 'Hello LaptrinhPhpviet.com'


    sau đó ở file view index.html.php thì gọi {$sText} . kết quả là nó sẽ in ra dòng chữ .
    Hello LaptrinhPhpviet.com

    Xong.. Thật là đơn giản phải không..
    Ở bài sau chúng ta sẽ tiếp tục nghiên cứu về cách sử dụng CSS, JS ở trong view
     

    Bình Luận Bằng Facebook

  2. vanhung

    vanhung New Member

    Tham gia:
    29/3/15
    Bài viết:
    3
    "Thích" đã nhận:
    1
    Điểm nhận Cup:
    3
    Giới tính:
    Nam
    Bài viết rất hay.
    Ở VN cộng đồng phpfox không có. nên tìm tài liệu cũng không thấy.. Mong bạn tiếp tục chia sẻ.
    Cho mình hỏi, mình thấy các module bình thường có đường dẫn . Chẳng hạn như Blog
    thì có Blog > title Blog . ở ngay đoạn trên của trang web.. cách dùng ntn vậy
     
  3. PeaJaStr

    PeaJaStr Moderator Staff Member

    Tham gia:
    27/3/15
    Bài viết:
    193
    "Thích" đã nhận:
    54
    Điểm nhận Cup:
    28
    Giới tính:
    Nam
    À cái ý nó là Breadcrumb.. nó hơi loằng ngoằng, nên mình sẽ chia sẻ ở bài khác, khi các bạn đã nắm vững được cách viết,
    Breadcrumb của phpfox nó hơi khác các thành phần kia một chút..
     
  4. http://socbay.me

    http://socbay.me Member

    Tham gia:
    28/4/15
    Bài viết:
    61
    "Thích" đã nhận:
    5
    Điểm nhận Cup:
    8
    Giới tính:
    Nam
    bài viết của bạn sẽ là nền tảng cho phpfox việt phát triển.
     
  5. htung147

    htung147 New Member

    Tham gia:
    11/5/15
    Bài viết:
    6
    "Thích" đã nhận:
    1
    Điểm nhận Cup:
    1
    Giới tính:
    Nam
    Nghề nghiệp:
    sinh viên
    Đến từ:
    hanoi
    Trang chủ:
    nền tảng phpfox có lẽ sẽ phát triển từ đây :) cảm ơn bạn về bài viết mình cũng đang cày món này .
     
  6. Vu Van Hat

    Vu Van Hat Moderator

    Tham gia:
    7/4/15
    Bài viết:
    35
    "Thích" đã nhận:
    1
    Điểm nhận Cup:
    8

Share This Page