Your SlideShare is downloading. ×

Zend Lab

711

Published on

Zend Lab …

Zend Lab
http://leonguyen.com

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
711
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
15
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Zend Lableonguyen.com
  • 2. Features- Purpose: An open source Zend CMS- GUI: Bootstrap + jQuery + Dojo- Technology: Zend 2 + Node.js + NoSQL
  • 3. Modules- Content:+ News, Media (Photo-Video|Infographic-Mindmap), Slide+ Products-Cart, Vote-Survey-Chat, Form+App- Channel:+ Web, Tablet, Mobile, Email, SMS, Print
  • 4. Design- Logo & Icon- Color scheme & Pattern- Typography- Elements
  • 5. Layout - Responsive
  • 6. Layout - Metro
  • 7. Zend Core
  • 8. Installation- Download Zend Server Community Edition (include ZendFramework 2.0) (http://framework.zend.com/downloads/latest)
  • 9. Start Zend Server- Go to http://localhost:10081/ZendServer
  • 10. Generate a Trial License for Zend Server- Go to http://www.zend.com/en/products/server/license
  • 11. Config Zend Application- Download Zend Skeleton Application (https://github.com/zendframework/ZendSkeletonApplication)
  • 12. New Environtment Variables
  • 13. Config Windows Host- Go to: C:WindowsSystem32driversetchosts
  • 14. Config Zend Server Host- Go to: C:Program FilesZendZendServeretcsites.d- Make host file: vhost_zendcms.com.conf- Restart Zend Server
  • 15. Start ZF2 Skeleton Application- Go to: http://zendcms.com
  • 16. Config Zend Module- Download Zend Skeleton Module (https://github.com/zendframework/ZendSkeletonModule)
  • 17. Add Skeleton Module- Go to: <Source Path>zendcmsmodule- Extract to: ZendSkeletonModule
  • 18. Config application.config- Go to: <Source Path>zendcmsconfig- Edit file: application.config.php
  • 19. Config module.config- Go to: <Source Path>zendcmsmoduleZendSkeletonModuleconfig- Edit file: module.config.php
  • 20. Start Skeleton Module- Go to: http://zendcms.com/skeleton
  • 21. Zend MVC- Programmer’s Reference Guide of Zend Framework 2: http://framework.zend.com/manual/2.0/en/index.html#zendframeworkreference
  • 22. MVC Diagram
  • 23. DAO Design Pattern
  • 24. Describe Album Module- The application that we are going to build is a simple inventory systemto display which albums we own. The main page will list our collectionand allow us to add, edit and delete CDs.Page DescriptionList of albumsThis will display the list of albums and provide links to edit and delete them.Also, a link to enable adding new albums will be provided.Add new album This page will provide a form for adding a new album.Edit album This page will provide a form for editing an album.Delete album This page will confirm that we want to delete an album and then delete it.
  • 25. Create directories- Creating following directories.
  • 26. Create Module.php- Create Module.php in the Album module.
  • 27. Configuration- Create a file module.config.php under <SourcePath>zendcmsmoduleAlbumconfig
  • 28. Config application.config- Go to: <Source Path>zendcmsconfig- Edit file: application.config.php
  • 29. Routing and controllers- As we have four pages that all apply to albums, we will group them ina single controller AlbumController within our Album module as fouractionsPage Controller ActionHome AlbumController indexAdd new album AlbumController addEdit album AlbumController editDelete album AlbumController delete
  • 30. Add Router- Modify module.config.php under<SourcePath>zendcmsmoduleAlbumconfig
  • 31. Create the Controller- Create controller class AlbumController.php under <SourcePath>moduleAlbumsrcAlbumController
  • 32. DB Schema- Create SQL statements to create the album table.
  • 33. Create the Model- Create model class Album.php under <SourcePath>moduleAlbumsrcAlbumModel
  • 34. Create the Model Table- Create model classAlbumTable.php under<SourcePath>moduleAlbumsrcAlbumModel
  • 35. Using ServiceManager to configure thetable gateway and inject into theAlbumTable- Create Module.phpin the Album module.
  • 36. Config DB Driver- Modify global.php under <Source Path>configautoload
  • 37. Config DB Credentials- Modify local.php under <Source Path>configautoload
  • 38. Create the View- Create view index.phtml under <SourcePath>moduleAlbumviewalbumalbum
  • 39. Open Album- Go to: http://zendcms.com/album
  • 40. Forms and Actions - Add album - Form- Create view AlbumForm.php under<SourcePath>moduleAlbumsrcAlbumForm
  • 41. Forms and Actions - Add album - Model- Modify model class Album.phpunder <SourcePath>moduleAlbumsrcAlbumModel
  • 42. Forms and Actions - Add album - Controller- Modify controller class AlbumController.php under <SourcePath>moduleAlbumsrcAlbumController
  • 43. Forms and Actions - Add album - View- Create view add.phtml under <SourcePath>moduleAlbumviewalbumalbum
  • 44. Forms and Actions - Add album - Open- Go to: http://zendcms.com/album/add
  • 45. Forms and Actions - Edit album - Controller- Modify controller classAlbumController.php under<SourcePath>moduleAlbumsrcAlbumController
  • 46. Forms and Actions - Edit album - Model- Modify model class Album.php under <SourcePath>moduleAlbumsrcAlbumModel
  • 47. Forms and Actions - Edit album - View- Create view edit.phtml under <SourcePath>moduleAlbumviewalbumalbum
  • 48. Forms and Actions - Delete album - Controller- Modify controller classAlbumController.php under<SourcePath>moduleAlbumsrcAlbumController
  • 49. Forms and Actions - Edit album - View- Create view delete.phtml under <SourcePath>moduleAlbumviewalbumalbum
  • 50. Zend Authentication
  • 51. Zfc [Base.User.Acl]- Download (https://github.com/ZF-Commons/ZfcUser)(https://github.com/ZF-Commons/ZfcBase)(https://github.com/bjyoungblood/BjyAuthorize)
  • 52. Add ZfcBase, ZfcUser, BjyAuthorize- Go to: <Source Path>zendcmsvendor- Extract to: ZfcUser, ZfcBase, BjyAuthorize
  • 53. Config application.config- Go to: <Source Path>zendcmsconfig- Edit file: application.config.php
  • 54. Make database.local- Go to: <Source Path>zendcmsconfigautoload- Create file: database.local.php
  • 55. Start url User- Go to: http://zendcms.com/user/login
  • 56. DB ListStar:1) User (u)2) Tag (t): Page, Menu, Category3) Post (p): Article, Products, Banner4) Meta (m): Media5) Option (o): Configuration
  • 57. Table List1) u: uId, uName, uPass, uEmail, uDesc2) t: tId, tName, tDesc3) p: pId, uId, pTitle, pContent4) m: mId, pId, mKey, mValue5) o: oId, oKey, oValue
  • 58. 1) User (u)CREATE TABLE `user` (`uId` INT NOT NULL AUTO_INCREMENT ,`uName` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOTNULL ,`uPass` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`uEmail` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`uDesc` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,PRIMARY KEY ( `uId` )) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci
  • 59. 2) Tag (t)CREATE TABLE `tag` (`tId` INT NOT NULL AUTO_INCREMENT ,`tName` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,`tDesc` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,PRIMARY KEY ( `tId` )) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci
  • 60. 3) Post (p)CREATE TABLE `post` (`pId` INT NOT NULL AUTO_INCREMENT ,`uId` INT NOT NULL ,`pTitle` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,`pContent` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,PRIMARY KEY ( `pId` )) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci
  • 61. 4) Meta (m)CREATE TABLE `meta` (`mId` INT NOT NULL AUTO_INCREMENT ,`pId` INT NOT NULL ,`mKey` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,`mValue` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,PRIMARY KEY ( `mId` )) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci
  • 62. 5) Option (o)CREATE TABLE `option` (`oId` INT NOT NULL AUTO_INCREMENT ,`oKey` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,`oValue` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,PRIMARY KEY ( `oId` )) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci
  • 63. Login
  • 64. Back-endI) User Manager (Permission)II) Tag Manager (Grid hierachy)III) Layout Manager (Row added elements)Star: 1) Header, 2) Content, 3) Footer, 4) Top, 5) BottomIV) Media ManagerV) Option ManagerPyramid: Navigation (Circle -> Menu) -> Datatable (Search-Filter,Action,Grid-Edit) -> Form (Main Input,Desc Grid) + Custom
  • 65. Github- Go to: https://github.com/leonguyen/zendcms

×