.. / Codeigniter Blog. Step1: Hello World

  1. codeigniter-blog

После прочтения общих сведения о PHP-фреймворках, MVC, остановился на CakePHP и Codeigniter. После поверхностной примерки обеих систем отсеял CakePHP за громоздкость и запутанность документации. Но в мыслях его все таки держу. Может придется перейти на него. Чтобы все уложилось в мозге, описываю все действия по созданию блога в Codeigniter по шагам. Т.ч. все что написано ниже - исключительно для собственного пользования и не претендует на нечто большее.

Исходная документация может быть найдена на официальном сайте:

Практически все что написано ниже можно посмотреть на ролике Но без исходников и на американском языке.

Ниже все шаги по созданию блога будут сопровождаться выкладкой полного кода, который можно скачать с этого сайта. Итак начинаем.

1.

Создаем локальный сайт для отладки http://ci (PHP5 + MySQL4). Далее с официального сайта скачиваем последнюю версию Codeigniter и разворачиваем в корневой директории локального сайта. (в корне директории system, user_guide). Запускаем в броузере свой сайт и обнаруживаем что Codeigniter нас приветствует ("Welcome to CodeIgniter!").

2.

Не смотря на то, что концепция проектирования Codeigniter строится на MVC, модели здесь не будет. Незачем пока. Начнем сразу с контроллера. Все контроллеры лежат в директории /system/application/controller/ Там уже лежит предустановленный welcome.php работу которого мы видели на первом шаге. Убиваем его и создаем свой контроллер: /system/application/controller/blog.php

<?
Class Blog extends Controller
{
   function Blog()
   {
     parent::Controller();
   }
   function index()
   {
     echo "hello!";
   }
  }
?>      

Запустив в броузере свой сайт http://ci обнаружим ошибку. Необходимо прописать свой контролер в качестве дефолтного. Для этого открываем файл /system/application/config/routes.php находим и исправялем строку, содержащюю $route['default_controller'] :

$route['default_controller'] = "blog"

Теперь запускаем сайт снова и наблюдаем желаемое "Hello!".

3

На предыдущем шаге контроллер занимается непосредственно выводом данных, чего согласно концепции MVC быть не должно. Поэтому необходимо разделить контроллер и предствавление VIEW (будем называть его "вьюер", а как еще?). для этого переписываем контроллер:

<?
Class Blog extends Controller
  {
    function Blog()
     {
      parent::Controller();
     }
     function index()
     {
        $data['content']='Hello World';
        $this->      load->      view('blog_view',$data);  
     }
   }
?>      

В строке $this-> load-> view('blog_view',$data); прописывается адрес вьюера, который должен быть создан в директории для вьюеров: /system/application/views/ . Название уже определили: blog_view.php

;<html> 
<body>      
<h1>      <?echo $content; ?>      </h1>      
</body>      
</html>      

На этот раз все получилось почти по правилам, за исключением отсутствия модели. Это будет заготовкой для следующих шагов. Все исходные коды кладем в архив в директорию step1

  1. 2007-09-03
  2. codeigniter-blog
Go Index Test