lenamdang lenamdang Author
Title: Codeigniter Framework: Quy trình làm việc trên View trong CI
Author: lenamdang
Rating 5 of 5 Des:
- Ở bài trước chúng ta đã tìm hiểu được quy trình làm việc của controller. Ở bài viết này chúng ta sẽ tìm hiểu cách làm việc trên view và qu...
- Ở bài trước chúng ta đã tìm hiểu được quy trình làm việc của controller. Ở bài viết này chúng ta sẽ tìm hiểu cách làm việc trên view và qua đó ta sẽ vận dụng theo đúng mô hình MVC trong CI.
1. View là gì ?
- View được hiểu là những phần mà người dùng thấy được, tương tác được giữa hệ thống và người dung như: hình ảnh, kiểu chữ, giao diện,… Tóm lại là những gì mà chúng ta làm cho người sử dụng tương tác được. Việc tách biệt viewcontroller, model sẽ giúp người lập trình dễ dàng phát triển và nâng cấp mã nguồn trong tương lai dễ dàng hơn.



2. Sử dụng View :
- Để sử dụng được view, trong controller chúng ta sẽ khai báo như sau:
$this->load->view("tên_view");
- Ví dụ:

- Ở trong thư mục view bạn tạo file bai1_view.php và điền đoạn code như sau:



<?php
          echo ” Day la doan text trong file bai1_view.php “;
?>




- Vì ta ghi đoạn “$this->load->view(“bai1_view”);” trong “public function index()” nên ta sẽ ghi đường dẫn như sau:
http://localhost/hocweb_ci/index.php/bai1


- Và đây là kết quả.





* Giải thích quy trình xử lý trên:
+ Đầu tiên ta ghi đường dẫn http://localhost/hocweb_ci/index.php/bai1 có nghĩa là ta gọi file bai1.php trong controller.
+ Trong file bai1.php ta chú ý dòng code: $this->load->view(“bai1_view”) có nghĩa là gọi file bai1_view.php trong thư mục view và hiển thị nội dung của file bai1_view.php lên trình duyệt.
- Trong trường hợp ta muốn truyền tham số ra view từ controller thì sao ?.
- Trong file bai1.php trong controller ta ghi như sau:
$this->load->view("bai1_view",$data);
- $data là 1 biến chứa các giá trị mà chúng ta muốn truyền.
- Một lưu ý cần nhớ là đối với dữ liệu truyền về cho view, chúng ta phải đặt chúng dưới dạng 1 phần tử mảng.
- Ví dụ:
$data['title']="Day la bien duoc truyen tu trang controller den view";
- Vì khi load view, Codeigniter Framework tự động sẽ lọc và biến khóa title từ controller trở thành 1 biến bình thường. Do đó, tại view để sử dụng ta chỉ cần viết:
<?php
echo $title;
?>

- Và đây là kết quả của ví dụ trên:




- Ví dụ sau đây ta sẽ truyền 1 mảng cho biến data trong controller. Ta sửa biến $data[‘title’] thành $data[‘taikhoan’] như đoạn code dưới:
$data['taikhoan']=array(
                    “username” => “hocweb”,
                    “password” => “12345″,
        );

- Tiếp theo ở trang bai1_view.php ta sửa lại như sau:
<?php
echo “<h3>”;
print_r($taikhoan);
echo “</h3>”;
?>

- Và đây là kết quả của ví dụ trên:





- Ngoài ra, lúc này $taikhoan đã là 1 mảng nên chúng ta có thể truy xuất giá trị của mảng một cách bình thường.
<?php
echo $taikhoan[‘username’];
?>

- Có một vấn đề khá quan trọng trong quá trình sử dụng và làm việc với view. Đó là tương tác giữa css, hình ảnh, javascript ở phần view như thế nào ?
- Codeigniter framework sử dụng file router.php trong thư mục config để viết lại liên kết. Vì thế những đường dẫn tương đối đối với css, hình ảnh, javascript thì chắc chắn sẽ bị lỗi.
- Chúng ta thường liên kết file css hay js như thế này:
<link href="hocweb_ci/style.css" rel="stylesheet" type="text/css"/>
- Nếu ta khai báo liên kết theo cách trên, ta truy cập trong một controller và action cụ thể như: index.php/bai1/hocweb. Thì với đường link ở trên hệ thống sẽ hiểu là:
http://localhost/hocweb_ci/index.php/bai1/hocweb/hocweb_ci/style.css
- Để giải quyết vấn đề này, ta có thể sử dụng helper trong codeigniter nhằm lấy đường dẫn tuyệt đối sử dụng trong view như sau:
- Trong controller ta thêm dòng load helper như sau:
<?php
class Bai1 extends CI_Controller{
    public function __construct(){
        parent::__construct();
        $this->load->helper(“url”);

    }
    public function index(){
        $this->load->view(“bai1_view”);
    }
}

- Tiếp theo, ta mở file config.php từ đường dẫn application/config/ và ngay tại dòng:
$config['base_url']    = ”;
- Ta sửa thành:
$config['base_url']= 'http://localhost/hocweb_ci';
- Ta mở file bai1_view.php lên và ghi lại đường dẫn như sau:
<link href=”<?php echo base_url();?>/style.css”rel=”stylesheet” type=”text/css” />
- Như thế chúng ta hoàn toàn giải quyết được bài toán nạp css, js, và hình ảnh với codeigniter framework rồi phải không nào.
- Qua bài này, chúng ta đã tìm hiểu và định hình được những quy tắc cơ bản trong view của Codeigniter – Quy trình làm việc trên View trong CI, qua đó dễ dàng vận dụng chúng trong thực tế theo chuẩn MVC. Tiếp tục ở bài tới, tôi sẽ giới thiệu về quy trình làm việc giữa codeigniter và model như thế nào.

 Xem thêm tại : http://hocweb.com.vn/category/hocweb/framework/codeiginter/
----------------------------------------------------------------------------------------------------------------------------------------------------------
Nếu bạn thấy bài viết hữu ích, hãy nhấn +1 và các liên kết chia sẻ để website ngày càng phát triển hơn. Xin cám ơn bạn!

About Author

Advertisement

Đăng nhận xét

 
Top