Zend Framework 2.0: Upload file và Multi upload files trong ZF2 - Bài 9KhanhPham
Zend Framework 2.0: Upload file và Multi upload files trong ZF2 - Bài 9
Để tìm hiểu kỹ hơn các bạn hãy truy cập:
Website: www.zend.vn
Facebook: facebook.com/zendvngroup
Youtube: youtube.com/user/luutruonghailan
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2KhanhPham
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2. Hướng dẫn cách cài đặt, cấu hình ZF2.
Để tìm hiểu kỹ hơn các bạn hãy truy cập;
Website: www.zend.vn
Facebook: https://www.facebook.com/zendvngroup
Bài 3 Một số kỹ thuật lập trình PHP nâng cao - Xây dựng ứng dụng webMasterCode.vn
Cách tạo một biểu thức chính quy và xử lý bằng
hàm preg_match
Cách sử dụng biểu thức chính quy nhiều dòng,
toàn cục
Cách sử dụng hàm preg_replace và preg_split
để làm việc với biểu thức chính quy
Cơ chế sử dụng biểu thức chính quy trong xác
thực dữ liệu
Cơ chế tạo, ném và xử lý ngoại lệ
Zend Framework 2.0: Upload file và Multi upload files trong ZF2 - Bài 9KhanhPham
Zend Framework 2.0: Upload file và Multi upload files trong ZF2 - Bài 9
Để tìm hiểu kỹ hơn các bạn hãy truy cập:
Website: www.zend.vn
Facebook: facebook.com/zendvngroup
Youtube: youtube.com/user/luutruonghailan
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2KhanhPham
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2. Hướng dẫn cách cài đặt, cấu hình ZF2.
Để tìm hiểu kỹ hơn các bạn hãy truy cập;
Website: www.zend.vn
Facebook: https://www.facebook.com/zendvngroup
Bài 3 Một số kỹ thuật lập trình PHP nâng cao - Xây dựng ứng dụng webMasterCode.vn
Cách tạo một biểu thức chính quy và xử lý bằng
hàm preg_match
Cách sử dụng biểu thức chính quy nhiều dòng,
toàn cục
Cách sử dụng hàm preg_replace và preg_split
để làm việc với biểu thức chính quy
Cơ chế sử dụng biểu thức chính quy trong xác
thực dữ liệu
Cơ chế tạo, ném và xử lý ngoại lệ
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng webMasterCode.vn
Phân biệt khi nào sử dụng PDO và mở rộng
mysqli
Cách sử dụng câu lệnh dựng sẵn khi làm việc với
PDO
Cách sử dụng chế độ hiển thị lỗi
Cách sử dụng mysqli trong cả hai hướng lập
trình hướng đối tượng và hướng cấu trúc
Học lập trình Wordpress - bài 2 - Tìm hiểu cấu trúc và cấu hình nâng cao KhanhPham
Học lập trình Wordpress - Tìm hiểu cấu trúc và cấu hình nâng cao.
Mã nguồn WordPress gồm nhiều loại file khác nhau như PHP, JavaScript và CSS. Mỗi tập tin phục vụ một mục đích cụ thể trong WordPress. Vẻ đẹp của phần mềm mã nguồn mở là tất cả được công bố rộng rãi, có nghĩa là bạn có thể dễ dàng khám phá mã để hiểu rõ hơn về các chức năng của WP được làm như thế nào. Các tài nguyên tốt nhất cho việc học WordPress là mã nguồn tạo lên hệ thống.
Để tìm hiểu kỹ hơn các bạn hãy truy cập:
Website: www.zend.vn
Facebook: https://www.facebook.com/zendvngroup
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng webMasterCode.vn
Cách tổ chức mô hình MVC
Ưu điểm của mô hình MVC trong việc phát triển
ứng dụng web
Cách tạo và gọi hàm theo phong cách mô hình
MVC
Phân biệt khi nào nên forward hoặc chuyển
hướng yêu cầu HTTP
Giới thiệu về framework CakePHP
Tài liệu lập trình Wordpress - bài 5 - Action và Action hook trong WordpressKhanhPham
Tài liệu lập trình Wordpress - bài 5 - Action và Action hook trong Wordpress
Hook giống như là xương sống của WordPress. Chúng cho phép các lập trình viên gắn (hook) các Plugin vào quá trình hoạt động của hệ thống WP để thay đổi một số cách thức hoạt động mà không cần trực tiếp sửa chữa trong lõi của WP. Điều này cho phép người dùng dễ dàng nâng cấp lên phiên bản mới hơn của WP mà không mất đi các đoạn mã đã sửa đổi
Để tìm hiểu kỹ hơn về bài học này các bạn hãy truy cập;
Website: www.zend.vn
Facebook: https://www.facebook.com/zendvngroup
Giáo trình lập trình Wordpress - bài 4 - Tạo Plugin căn bản KhanhPham
• Tạo ra nền tảng vững chắc Plugin.
• Xác định thư mục và tập tin đường dẫn.
• Sử dụng chức năng Active và Deactivate.
• Tìm hiểu về các phương thức uninstall plugin.
• Cách viết code chuẩn trong WP
Khi phát triển một Plugin trong WordPress, điều này cần thiết để bắt đầu một nền tảng Plugin vững chắc. Bắt đầu với một nền tảng tốt có thể loại bỏ sự đau đầu khi các bạn phát triển các Plugin . Các kỹ thuật được thảo luận trong chương này sẽ được xử dụng xuyên trong quá trình học của chúng ta.
Để tìm hiểu kỹ hơn về bài học này các bạn hãy truy cập;
Website: www.zend.vn
Facebook: https://www.facebook.com/zendvngroup
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPTMasterCode.vn
Giới thiệu về cơ sở dữ liệu quan hệ và MySQL
Giới thiệu về cơ sở dữ liệu quan hệ
Các kiểu dữ liệu thông dụng trong MySQL
Các câu lệnh dùng để thao tác dữ liệu trong SQL
Giới thiệu MySQL
Sử dụng phpMyAdmin
Sử dụng PHP với MySQL
Sử dụng PHP để làm việc với MySQL
Lấy dữ liệu từ tập kết quả
Mô hình MVC
Giới thiệu về mô hình MVC
Hướng dẫn viết hàm
Hướng dẫn chuyển hướng yêu cầu
Nhắc lại bài cũ
Giới thiệu về cơ sở dữ liệu quan hệ và MySQL
Giới thiệu về cơ sở dữ liệu quan hệ
Các kiểu dữ liệu thông dụng trong MySQL
Các câu lệnh dùng để thao tác dữ liệu trong SQL
Giới thiệu MySQL
Sử dụng phpMyAdmin
Sử dụng PHP với MySQL
Sử dụng PHP để làm việc với MySQL
Lấy dữ liệu từ tập kết quả
Mô hình MVC
Giới thiệu về mô hình MVC
Hướng dẫn viết hàm
Hướng dẫn chuyển hướng yêu cầu
Devwork.vn chia sẻ dành cho các PHP developer chắc hẳn ai cũng biết đến Laravel một open source framework đứng đầu về số lượt download trên Packagist cũng như số lượng sao đạt được trên Github. Laravel được tạo ra bởi Taylor Otwell với phiên bản đầu tiên được ra mắt vào tháng 6 năm 2011. Từ đó cho đến nay, Laravel đã phát triển một cách mạnh mẽ, vượt qua những framework khác và vươn lên trở thành framework PHP có thể nói được ưa chuộc và được cộng đồng sử dụng nhiều nhất khi phát triển web với PHP.
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng webMasterCode.vn
Phân biệt khi nào sử dụng PDO và mở rộng
mysqli
Cách sử dụng câu lệnh dựng sẵn khi làm việc với
PDO
Cách sử dụng chế độ hiển thị lỗi
Cách sử dụng mysqli trong cả hai hướng lập
trình hướng đối tượng và hướng cấu trúc
Học lập trình Wordpress - bài 2 - Tìm hiểu cấu trúc và cấu hình nâng cao KhanhPham
Học lập trình Wordpress - Tìm hiểu cấu trúc và cấu hình nâng cao.
Mã nguồn WordPress gồm nhiều loại file khác nhau như PHP, JavaScript và CSS. Mỗi tập tin phục vụ một mục đích cụ thể trong WordPress. Vẻ đẹp của phần mềm mã nguồn mở là tất cả được công bố rộng rãi, có nghĩa là bạn có thể dễ dàng khám phá mã để hiểu rõ hơn về các chức năng của WP được làm như thế nào. Các tài nguyên tốt nhất cho việc học WordPress là mã nguồn tạo lên hệ thống.
Để tìm hiểu kỹ hơn các bạn hãy truy cập:
Website: www.zend.vn
Facebook: https://www.facebook.com/zendvngroup
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng webMasterCode.vn
Cách tổ chức mô hình MVC
Ưu điểm của mô hình MVC trong việc phát triển
ứng dụng web
Cách tạo và gọi hàm theo phong cách mô hình
MVC
Phân biệt khi nào nên forward hoặc chuyển
hướng yêu cầu HTTP
Giới thiệu về framework CakePHP
Tài liệu lập trình Wordpress - bài 5 - Action và Action hook trong WordpressKhanhPham
Tài liệu lập trình Wordpress - bài 5 - Action và Action hook trong Wordpress
Hook giống như là xương sống của WordPress. Chúng cho phép các lập trình viên gắn (hook) các Plugin vào quá trình hoạt động của hệ thống WP để thay đổi một số cách thức hoạt động mà không cần trực tiếp sửa chữa trong lõi của WP. Điều này cho phép người dùng dễ dàng nâng cấp lên phiên bản mới hơn của WP mà không mất đi các đoạn mã đã sửa đổi
Để tìm hiểu kỹ hơn về bài học này các bạn hãy truy cập;
Website: www.zend.vn
Facebook: https://www.facebook.com/zendvngroup
Giáo trình lập trình Wordpress - bài 4 - Tạo Plugin căn bản KhanhPham
• Tạo ra nền tảng vững chắc Plugin.
• Xác định thư mục và tập tin đường dẫn.
• Sử dụng chức năng Active và Deactivate.
• Tìm hiểu về các phương thức uninstall plugin.
• Cách viết code chuẩn trong WP
Khi phát triển một Plugin trong WordPress, điều này cần thiết để bắt đầu một nền tảng Plugin vững chắc. Bắt đầu với một nền tảng tốt có thể loại bỏ sự đau đầu khi các bạn phát triển các Plugin . Các kỹ thuật được thảo luận trong chương này sẽ được xử dụng xuyên trong quá trình học của chúng ta.
Để tìm hiểu kỹ hơn về bài học này các bạn hãy truy cập;
Website: www.zend.vn
Facebook: https://www.facebook.com/zendvngroup
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPTMasterCode.vn
Giới thiệu về cơ sở dữ liệu quan hệ và MySQL
Giới thiệu về cơ sở dữ liệu quan hệ
Các kiểu dữ liệu thông dụng trong MySQL
Các câu lệnh dùng để thao tác dữ liệu trong SQL
Giới thiệu MySQL
Sử dụng phpMyAdmin
Sử dụng PHP với MySQL
Sử dụng PHP để làm việc với MySQL
Lấy dữ liệu từ tập kết quả
Mô hình MVC
Giới thiệu về mô hình MVC
Hướng dẫn viết hàm
Hướng dẫn chuyển hướng yêu cầu
Nhắc lại bài cũ
Giới thiệu về cơ sở dữ liệu quan hệ và MySQL
Giới thiệu về cơ sở dữ liệu quan hệ
Các kiểu dữ liệu thông dụng trong MySQL
Các câu lệnh dùng để thao tác dữ liệu trong SQL
Giới thiệu MySQL
Sử dụng phpMyAdmin
Sử dụng PHP với MySQL
Sử dụng PHP để làm việc với MySQL
Lấy dữ liệu từ tập kết quả
Mô hình MVC
Giới thiệu về mô hình MVC
Hướng dẫn viết hàm
Hướng dẫn chuyển hướng yêu cầu
Devwork.vn chia sẻ dành cho các PHP developer chắc hẳn ai cũng biết đến Laravel một open source framework đứng đầu về số lượt download trên Packagist cũng như số lượng sao đạt được trên Github. Laravel được tạo ra bởi Taylor Otwell với phiên bản đầu tiên được ra mắt vào tháng 6 năm 2011. Từ đó cho đến nay, Laravel đã phát triển một cách mạnh mẽ, vượt qua những framework khác và vươn lên trở thành framework PHP có thể nói được ưa chuộc và được cộng đồng sử dụng nhiều nhất khi phát triển web với PHP.
Giáo trình thiết kế web - Thiết kế web với DreamweaverKhanhPham
Giáo trình thiết kế web - Thiết kế web với Dreamweaver
Để tìm hiểu kỹ hơn các bạn hãy truy cập:
Website: www.zend.vn
Facebook: https://www.facebook.com/zendvngroup
Youtube: www.youtube.com/user/luutruonghaila
Tự học HTML CSS JS - Khóa học HTML CSS JS chuyên sâuKhanhPham
Tự học HTML CSS JS - Khóa học HTML CSS JS chuyên sâu
Để tìm hiểu kỹ hơn các bạn hãy truy cập:
Website: www.zend.vn
Facebook: https://www.facebook.com/zendvngroup
Youtube: www.youtube.com/user/luutruonghailan
Học Zend Framework - Khóa học lập trình Zend FrameworkKhanhPham
Học Zend Framework - Khóa học lập trình Zend Framework
Để tìm hiểu kỹ hơn các bạn hãy truy cập:
Website: www.zend.vn
Facebook: https://www.facebook.com/zendvngroup
Youtube: https://www.youtube.com/watch?v=8XT6cCq6eyY
Tai lieu PHP nang cao - Sử dụng Session và Cookie trong php (CH003 Bài 7)KhanhPham
Tai lieu PHP nang cao - Sử dụng Session và Cookie trong php (CH003 Bài 7)
Để tìm hiểu kỹ hơn các bạn hãy truy cập:
Website: www.zend.vn
Facebook: facebook.com/zendvngroup
Giáo trình PHP căn bản - Lọc dữ liệu với PHP Filter (CH003 Bài 5)KhanhPham
Giáo trình PHP căn bản - Lọc dữ liệu với PHP Filter (CH003 Bài 5)
Để tìm hiểu kỹ hơn các bạn hãy truy cập:
Website: www.zend.vn
Facebook: facebook.com/zendvngroup
Giao trinh PHP nang cao - Kỹ thuật đệ qui trong PHP (CH003 Bài 3)KhanhPham
Giao trinh PHP nang cao - Kỹ thuật đệ qui trong PHP (CH003 Bài 3)
Để tìm hiểu kỹ hơn các bạn hãy truy cập:
Website: www.zend.vn
Facebook: facebook.com/zendvngroup
Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)KhanhPham
Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)
Để tìm hiểu kỹ hơn các bạn hãy truy cập:
Website: www.zend.vn
Facebook: facebook.com/zendvngroup
Giáo trình PHP nâng cao - Biểu thức chính qui trong PHP Regex (CH003 Bài 1)KhanhPham
Giáo trình PHP nâng cao - Biểu thức chính qui trong PHP Regex (CH003 Bài 1)
Để tìm hiểu kỹ hơn các bạn hãy truy cập:
Website: www.zend.vn
Facebook: facebook.com/zendvngroup
Học PHP cơ bản - Tìm hiểu về mảng trong PHP ( CH001 - Bài 1.1)KhanhPham
Học PHP cơ bản - Tìm hiểu về mảng trong PHP ( CH001 - Bài 1.1)
Để tìm hiểu kỹ hơn các bạn hãy truy cập:
Website: www.zend.vn
Facebook: facebook.com/zendvngroup
Học PHP cơ bản - Tìm hiểu về mảng trong PHP ( CH001 - Bài 1.1)
Tài liệu Zend Framework 2 : Thêm dữ liệu vào database trong ZF2 - Bài 10
1. Thêm(insert) dữ liệu vào database trong ZF2
Xem 'Bài 9 - Upload file và Multi upload files trong ZF2' trước khi thực hành bài này
- Trước khi chúng ta xây dựng chức năng thêm một dòng vào database trong Zend Framework 2.0. Chúng
ta mở database ‘zfbasic’ trong localhost:8000/phpmyadmin/ thêm vào dòng lệnh sau để tạo ra một cột
mới có tên ‘picture’.
ALTER TABLE `picture` ADD `hehe` VARCHAR( 255 ) NULL DEFAULT NULL AFTER `username` ;
- Ở trong phần này chúng ta sẽ phải có một FORM để người sử dụng nhập liệu và sau đó nhấn nút
‘Submit’ để gửi dữ liệu đến máy chủ vì vậy chúng ta cần tạo ra một đối tượng ZendFormForm. Lúc này
chúng ta sẽ tạo ra một tập tin mới /module/Admin/src/Admin/Form/UserForm.php với nội dung sau:
<?php
namespace AdminForm;
use ZendFormForm;
class UserForm extends Form
{
public function __construct($name = null)
{
parent::__construct('appForm');
//Khai báo phương thức sử dụng trong FORM
$this->setAttribute('method', 'post');
//Khai báo kiểu dữ liệu được gửi lên server
$this->setAttribute('enctype','multipart/form-data');
//Khai báo phần tử textbox 'username'
$this->add(array(
'name' => 'username',
'attributes' => array(
'type' => 'text',
'required' => 'required',
3. ));
//submit
$this->add(array(
'name' => 'submit',
'attributes' => array(
'type' => 'submit',
'value' => 'Send data'
),
));
}
}
- Tiếp theo chúng ta sẽ tạo một ACTION mới trong tập
tin /module/Admin/src/Admin/Controller/IndexController.php tên addAction() có nội dung như sau:
public function addAction(){
//Khởi tạo đối tượng UserForm
$form = new UserForm();
//Truyền đối tượng UserForm vào đối tượng ViewModel
$viewModel = new ViewModel(array('form' => $form));
//Đư đối tượng ViewModel ra ngoài VIEW
return $viewModel;
}
- Sau khi chúng ta có ACTION thì chúng ta sẽ tạo VIEW để hiển thị FORM của ACTION này. Tạo tập
tin /module/Admin/view/admin/index/add.phtml với nội dung sau:
<h1>Them mot thanh vien moi</h1>
<?php
//Lấy đối tượng AdminFormUserForm từ trong VIEW ra
$form = $this->form;
$form->prepare();
?>
<!-- Tạo thẻ <form...> và các giá trị thuộc tính của thẻ này -->
<?php echo $this->form()->openTag($form);?>
<ul>
<li>
<span><?php echo $this->formLabel($form->get('username')); ?></span>
<?php echo $this->formElement($form->get('username')); ?>
</li>
<li>
<span><?php echo $this->formLabel($form->get('picture')); ?></span>
<?php echo $this->formElement($form->get('picture')); ?>
</li>
<li>
<span><?php echo $this->formLabel($form->get('email')); ?></span>
<?php echo $this->formElement($form->get('email')); ?>
</li>
<li>
<span><?php echo $this->formLabel($form->get('password')); ?></span>
<?php echo $this->formElement($form->get('password')); ?>
4. </li>
<li>
<span><?php echo $this->formLabel($form->get('group')); ?></span>
<?php echo $this->formElement($form->get('group')); ?>
</li>
<li>
<!--Tạo nút Submit -->
<?php echo $this->formElement($form->get('submit'));?>
</li>
</ul>
<!-- Đóng thẻ </form> -->
<?php echo $this->form()->closeTag() ?>
- Bây giờ chúng ta hãy chạy thử đường dẫn sau: localhost:8000/zf2basic/public/admin/index/add/
- Chúng ta thấy trong FORM có một phần tử để upload file vì vậy chúng ta sẽ xây dựng một phương thức
trong tập tin /module/Admin/src/Admin/Form/UserForm.php để upload file lên máy chủ có nội dung như
sau:
public function upload($files = array(),$file_path = ''){
$fileName = '';
if(count($files) != 0 && $file_path != ''){
$fileName = $files['picture']['name'];
$uploadObj = new ZendFileTransferAdapterHttp();
$uploadObj->setDestination($file_path);
$uploadObj->receive($fileName);
}
return $fileName;
}
- Bây giờ chúng ta sẽ tạo ra thư mục mới tên /users trong thự mục /public/files để lưu trữ hình ảnh upload
lên từ FORM này
- Tiếp theo chúng ta sẽ xây dựng một phương thức tên saveData() trong tập tin MODEL để đưa dữ liệu
5. vào bảng ‘user’ của database . Mở tập tin /module/Admin/src/Admin/Model/UserTable.php với nội dung
sau:
public function saveData($arrParam = array(), $options = array()){
//Loại bỏ phần tử 'submit' trong mảng được POST qua
unset($arrParam['submit']);
//Nếu $options['task'] có giá trị 'add' thì thêm một record mới trong database
if($options['task'] == 'add'){
$this->tableGateway->insert($arrParam);
}
}
- Sau khi đã có phương thức saveData() trong MODEL bây giờ chúng ta sẽ hoàn thiện addAction() để đưa
gửi dữ liệu từ FORM vào database. Mở tập
tin /module/Admin/src/Admin/Controller/IndexController.php sửa lại addAction() như sau:
public function addAction(){
//Khởi tạo đối tượng UserForm
$form = new UserForm();
//Truyền đối tượng UserForm vào đối tượng ViewModel
$viewModel = new ViewModel(array('form' => $form));
//Lấy tất cả các giá trị được truyền qua từ FORM
$request = $this->getRequest();
if ($request->isPost()) {
//Lấy mảng thông tin được gửi từ FORM lên
$arrParam = $request->getPost()->toArray();
//Lấy mảng thông tin của file gửi lên
$files = $request->getFiles()->toArray();
//Tạo một phần tử 'picture' trong mảng $arrParam
$arrParam['picture'] = '';
//Trong trường hợp có tập tin gửi lên
//thì gọi đến phương thức upload trong đối tượng UserForm
if(!empty($files['picture']['name'])){
//Lấy tên của tập tin upload đưa vào phần tử 'picture' trong mảng $arrParam
$arrParam['picture'] = $form->upload($files,FILES_PATH . '/users');
}
//Gọi đối tượng UserTable đã khai báo trong đối tượng service
$userTable = $this->getServiceLocator()->get('AdminModelUserTable');
//Truyền mảng dự liệu $arrParam vào phương thức savaData
//của đối tượng AdminModelUserTable
$userTable->saveData($arrParam,array('task'=>'add'));
//Sau khi đưa dữ liệu vào datbase chúng trả nó về trang hiển thị dữ liệu
return $this->redirect()->toRoute('admin', array(
'controller' => 'index',
'action' => 'index'
6. ));
}
//Đư đối tượng ViewModel ra ngoài VIEW
return $viewModel;
}
- Bây giờ chúng ta hãy chạy thử đường dẫn sau: localhost:8000/zf2basic/public/admin/index/add/ nhập
đầy đủ dữ liệu vào nhấn nút ‘Send data’ để hoàn tất quá trình lưu dữ liệu vào database và sau đó chúng ta
hãy kiểm tra xem tập tin hình đã có trong thư mục /public/files/users hay chưa
Download source here: http://www.zend.vn/download/pictures/zend-framework-2/07-zf-them-du-lieu-
vao-db/07-zf-them-du-lieu-vao-db.zip
Để tìm hiểu kỹ hơn các bạn hãy truy cập:
Website: www.zend.vn
Facebook: facebook.com/zendvngroup
Youtube: youtube.com/user/luutruonghailan