Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
 
For 2021 - online Python 3 training - see ((here)).

Our plans were to retire in summer 2020 and see the world, but Coronavirus has lead us into a lot of lockdown programming in Python 3 and PHP 7.
We can now offer tailored online training - small groups, real tutors - works really well for groups of 4 to 14 delegates. Anywhere in the world; course language English.

Please ask about private 'maintenance' training for Python 2, Tcl, Perl, PHP, Lua, etc.
CodeIgniter - an excellent PHP framework with an easy start point

Frameworks are such a valuable tool to help you write a web application - they provide the common structure that you need in most applications in addition to the web server itself, and into which you can write your own application specific code. But there's often a steep learning curve with a framework, and a bloat which means that you end up wit something that works, but works far less efficiently than code written without a framework.

Under PHP, I've done quite a bit of work over the last few months with the Zend Framework, but flavour is this month from a training viewpoint seems to be CodeIgniter by Ellis Labs. It's an easy download, unpack it to get it working and "Hello World" can be implemented very quickly with a template of your web page filled in by the controller in just a few file changes. I'm impressed!

  -bash-4.1$ diff -r vanilla/public_html/ public_html
  Only in public_html/application/controllers: mycontroller.php
  Only in public_html/application/views: pages
  Only in public_html/application/views: templates
  Only in public_html: .htaccess
  Only in public_html: index.html
  -bash-4.1$


As with any system that's documented online, the EllisLabs / manaual pages have - even at the beginning - lots of ifs, buts can caveats, so I thought I would include the final content of the six files I added (nothing changed) to make this work.

My first example produces:



Here are the file contents:

index.html - to provide a home page outside the CodeIgniter tests

  <html>
  <head><title>Consultations dot org dot uk</title></head>
  <body><h1>Currently a test site!</h1>
  In use by <a href=http://www.wellho.net>Well House Consultants</a> for our training courses
  </body>
  </html>


.htaccess - to reroute everything else to CodeIgniter

  RewriteEngine on
  
  # Route home page to "locked out" special front page
  
  RewriteRule ^index.htm index.html [L]
  RewriteRule ^$ index.html [L]
  
  # Send all running pages except index.php, robots.txt and the user guide to index.php
  
  RewriteCond $1 !^(index\.php|images|robots\.txt|user_guide)
  RewriteRule ^(.*)$ /index.php/$1 [L]


application/controllers/mycontroller.php - to provide a first controller

  <?php
  
  class Mycontroller extends CI_Controller {
  
    public function view($page = 'home') {
    $data = array('title' => "showing CodeIgniter");
    $this->load->view('templates/header', $data);
  //    $this->load->view('pages/'.$page, $data);
    $this->load->view('pages/main', $data);
     $this->load->view('templates/footer', $data);
    }
  }


application/views/pages/main.php - to provide the view called up by that controller

  [[Content here]]

application/views/templates/header.php - to provide the header used by all views

  <html>
  <head>
    <title><?= $title ?> - Well House Tutorial</title>
  </head>
  <body>
    <h1>Teaching you to write excellent PHP - <?= $title ?></h1>
  <i>This is the header</i>
  <hr />


application/views/templates/footer.php - to provide the footer used by all views

  <hr /><i>This is the footer</i><br /><br />
  <?php date_default_timezone_set('Europe/London'); ?>
  <a href=http://www.wellho.net>Well House Consultants</a>
  - <strong>©<?= date("Y") ?></strong>
  </body>
  </html>


Frameworks become more and more important in PHP development and in my "best practise" module on all PHP courses I now talk about Router / Model / View / Controller, and I can cove off examples as required. At present, CodeIgniter is just a formal quick demo - but I'm happy to be kept talking about it after the course, and to include it in private courses.

Source code links for the files used above:

Controller - [here]
Main view - [here]
Header - [here]
Footer - [here]
.htaccess for routing changes - [here]
dummy front page - [here]
(written 2013-04-06, updated 2013-04-13)

 
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
H321 - PHP - CodeIgniter
  [4053] Frameworks - learning through exploring and understanding data sources - (2013-03-27)
  [4062] Sessions, forms and validation in CodeIgniter - early examples - (2013-04-13)
  [4114] Teaching CodeIgniter - MVC and PHP - (2013-06-12)


Back to
Curl and curling from PHP
Previous and next
or
Horse's mouth home
Forward to
Seamless, integrated IT - we have a long way to go!
Some other Articles
Apache httpd - a robust, open source web server
Backups by crossover between network centres - setting up automatic scp transfers
Seamless, integrated IT - we have a long way to go!
CodeIgniter - an excellent PHP framework with an easy start point
Curl and curling from PHP
The highs and lows of customer service - Cheltenham
stdClass in PHP - using an object rather than an associative array
An overpractical test of our backup strategy!
Using web services to access you data - JSON and RESTful services
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page


This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2021: 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/4060_Cod ... point.html • PAGE BUILT: Sun Oct 11 16:07:41 2020 • BUILD SYSTEM: JelliaJamb