$30 off During Our Annual Pro Sale. View Details »

CodeIgniter Lab

CodeIgniter Lab

CodeIgniter Lab
http://leonguyen.com

LeoNguyen.com

July 11, 2013
Tweet

More Decks by LeoNguyen.com

Other Decks in Programming

Transcript

  1. LeoNguyen.com

  2. Outline - References (http://bit.ly/1fofKSV) - Lab 01: Introduction CodeIgniter 2.1.3

    - Lab 02: HMVC - Lab 03: Grocery CRUD 1.3.3 - Lab 04: Eden Library 3.1 - Lab 05: Doctrine 2
  3. Github https://github.com/leonguyen/CILab

  4. Lab 01 Introduction to CodeIgniter

  5. Outline - Download and config CI - Write a Hello

    world program
  6. Exercise 1 Download and config CI

  7. CodeIgniter

  8. Task 1 - Download CI - Goto CI download site

    http://ellislab.com/codeigniter/user- guide/installation/downloads.html
  9. Task 2 - Unzip CI - Unzip CI zip file.

  10. Task 3 - Download & install Sublime Text - Goto

    Sublime Text download site http://www.sublimetext.com
  11. Task 4 - Config autoload.php - Enter code: https://gist.github.com/leonguyen/5315988

  12. Task 5 - Config config.php - Enter code: https://gist.github.com/leonguyen/5315997

  13. Task 6 - Config database.php - Enter code: https://gist.github.com/leonguyen/5316010

  14. Task 7 - Run CI - Enter the url http://localhost/cilab/

    on the browser.
  15. Task 8 - Userguide CI - Enter the url http://localhost/cilab/user_guide/

    on the browser.
  16. Exercise 2 Write a Hello world program

  17. Task 1 - Create Helloworld controller - Copy Welcome controller,

    enter the following code then goto http: //localhost/cilab/index.php/helloworld
  18. Task 2 - Create .htaccess - Create .htaccess in root

    source files then enter the following code: https://gist.github.com/leonguyen/5251416
  19. Task 3 - Config config.php - Remove 'index.php' of 'index_page'.

    - Enter 'QUERY_STRING' of 'uri_protocol'.
  20. Task 4 - Run again - Goto http://localhost/cilab/helloworld.

  21. Lab 02 HMVC (Hierarchical Model View Controller)

  22. HMVC

  23. HMVC (cont) - Modularization: Reduction of dependencies between the disparate

    parts of the application. - Organization: Having a folder for each of the relevant triads makes for a lighter work load. - Reusability: By nature of the design it is easy to reuse nearly every piece of code. - Extendibility: Makes the application more extensible without sacrificing ease of maintenance.
  24. Outline - Download and config HMVC modular. - Create sample

    'Foo' modules.
  25. Exercise 1 Download and config HMVC modular

  26. Task 1: Download HMVC Modular - Goto https://bitbucket.org/wiredesignz and download

    "codeigniter- modular-extensions-hmvc"
  27. Task 2: Copy 'MX' third_party - Copy 'MX' folder to

    'third_party' folder of CI.
  28. Task 3: Copy to 'application/core' - Copy 'MY_Loader.php' and 'MY_Router.php'

    to 'application/core'.
  29. Exercise 2 Create sample 'Foo' modules

  30. Task 1: Create 'modules' folder - Create 'modules' folder in

    'application' and 'Foo' modules.
  31. Task 2: Create 'Foo' controller - Create 'Foo' controller extends

    'MX_Controller': https://gist.github.com/leonguyen/5326355
  32. Task 3: Create 'Foo' controller - Create 'Foo' controller extends

    'MX_Controller'.
  33. Lab 03 Grocery CRUD

  34. Intro - Grocery CRUD is a library that makes a

    developer's life easier. Just few lines of code and you can create a full stable CRUD with nice views. A totally automatic system that even a newbie in PHP can work with.
  35. Task 1: Download - Go to www.grocerycrud.com

  36. Task 2: Installation - Unzip 'grocery_CRUD.zip' and copy all files

    to your CI project.
  37. Task 3: Installation - MySQL - Import 'examples_database.sql' to your

    project mysql.
  38. Task 4: Run - Enter the url http://localhost/CILab/examples/ on the

    browser.
  39. Lab 04 Eden Library

  40. Intro - Eden is a PHP library designed for rapid

    prototyping, with less code. Yes, Really. - Eden simply a set of reusable components, that works with any PHP framework and CMS. Eden makes code logical and readable with dead simple syntax.
  41. Task 1: Download - Go to www.eden-php.com

  42. Task 2: Installation - Unzip 'eden.zip' and copy all files

    to 'libraries' folder of your CI project.
  43. Task 3: Create example controller - Create 'edenhellow.php' controller and

    enter code: https://gist.github. com/leonguyen/5915315
  44. Task 4: Run - Enter the url http://localhost/CILab/edenhello/ on the

    browser. Note: You have access to a server with at least PHP 5.3.x
  45. Lab 05 Doctrine 2

  46. Intro - Doctrine is a very powerful ORM in php

    and it is possible to easily integrate and use doctrine with codeigniter as ORM
  47. Task 1: Download - Go to github.com/doctrine and download +

    ORM: github.com/doctrine/doctrine2 + Common: github.com/doctrine/common + DBAL: github.com/doctrine/dbal and Cache, Annotations, Lexer
  48. Task 2: Create Doctrine folder - Create ‘Doctrine’ folder into

    ‘application/libraries’ and put its files.
  49. Task 3: Create Doctrine bootstrap - Create ‘Doctrine.php’ into ‘application/libraries’

    folder. - Enter code: https://gist.github.com/leonguyen/6696118
  50. Task 4: Load Doctrine - Modify the ‘autoload.php’

  51. Task 5: Create YAML mapping files - Enter code: https://gist.github.com/leonguyen/6701457

    https://gist.github.com/leonguyen/6701498
  52. Task 6: Command Line Tool - Create ‘doctrine-cli.php’ into ‘application’

    folder. - Enter code: https://gist.github.com/leonguyen/6700705
  53. Task 7: Setup Entities, Proxies, and DB Schema - List

    of commands: php doctrine-cli.php (See: youtu.be/yFH5JcH-RtM) - Entity classes: php doctrine-cli.php orm:generate-entities models (See: youtu.be/nEMfBno40vE) - Proxy classes: php doctrine-cli.php orm:generate-proxies (See: youtu.be/v4J_cI5CJe0) - Drop tables: php doctrine-cli.php orm:schema-tool:drop --force (See: youtu.be/lhGWsFmCeoc) - Create tables: php doctrine-cli.php orm:schema-tool:create (See: youtu.be/MhLAi4f_mg4)