SlideShare a Scribd company logo
1 of 25
Выполнила: ст.гр ИТ-07-2 Лысак О.Ю. Использование фреймворка  CodeIgniter  для автоматизации решения типовых задач   web- разработки
[object Object],[object Object],[object Object],[object Object],CodeIgniter   — фреймворк, написанный на  PHP  для разработки полноценных веб-систем и приложений.  Разработан компанией EllisLab, а также Риком Эллисом (Rick Ellis) и Полом Бурдиком (Paul Burdick).
[object Object],[object Object],[object Object],[object Object],SELECT  *  FROM  news  WHERE  id_news = 5 http://example.org/script.php?id=5 SELECT  *  FROM  news  WHERE  id_news = -1  OR  1=1
[object Object],[object Object],[object Object],[object Object],Разделение логики и отображения
[object Object],[object Object],Структура  CodeIgniter:
[object Object],[object Object],Создание  web- форм ,[object Object],[object Object],[object Object],[object Object]
Создание  web- форм Атрибуты могут быть добавлены путём передачи ассоциативного массива вторым параметром: $attributes = array('class' => 'email', 'id' => 'myform'); echo form_open('email/send', $attributes); <form method=&quot;post&quot;  action=&quot;http:/www.your-site.com/index.php/email/send&quot;   class=&quot;email&quot;  id=&quot;myform&quot; />
Создание  web- форм ,[object Object],[object Object]
Создание  web- форм ,[object Object],[object Object],[object Object],[object Object],$data = array(               'name'        => 'username',               'id'          => 'username',               'value'       => ' Александр ',               'maxlength'   => '100',               'size'        => '50',               'style'       => 'width:50%',             ); echo form_input($data); <input  type=&quot;text&quot; name=&quot;username&quot; id=&quot;username&quot; value=&quot; Александр &quot; maxlength=&quot;100&quot; size=&quot;50&quot; style=&quot;width:50%&quot; />
Создание  web- форм ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Валидация и перзаполнение  web- форм Используется библиотека  validation: $this->load->library('validation');   ,[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Файл отображения с формой  myform.php Файл отображения  сообщения об успешной проверке  formsuccess.php  
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Контроллер form.php
Основные правила валидации:
Пейджинация Это набор ссылок позволяющих перемещаться по страницам, например: « В начало    1    2    3    4    5    В конец » Создание пейджинации в одном из контроллеров: $this->load->library('pagination'); $config['base_url'] = 'http://www.your-site.com/index.php/test/page/'; $config['total_rows'] = '200'; $config['per_page'] = '20';  $this->pagination->initialize($config);  echo $this->pagination->create_links();   Массив  $config   содержит конфигурационные переменные.  Он передается в функцию  $this->pagination->initialize , как показано выше base_url  — это полный путь к классу контроллера/функции содержащей нумерацию страниц. В примере выше контроллер «Test», а функция «page».  total_rows  — это общее число страниц, которые будут в результате. Обычно это количество записей, возвращаемых запросом к базе данных. per_page  — это количество элементов, которое вы намерены показать на странице. В примере выше, будет выводится двадцать элементов на страницу. Функция  create_links()   вернет пустую строку, когда не будет необходимости показывать нумерацию.
Пейджинация ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Операции с СУБД ,[object Object],[object Object],[object Object],[object Object]
Операции с СУБД $this->db->select('*'); $this->db->from('blogs'); $this->db->join('comments', 'comments.id = blogs.id'); $query = $this->db->get(); SELECT * FROM blogs  JOIN comments ON comments.id = blogs.id
Операции с СУБД Функции для получения результатов запроса: result()  -  функция возвращает результаты запроса в виде массива  объектов , или  пустой массив  в случае неудачи. Лучше всего такой результат обрабатывается перебором массива с помощью foreach: $query = $this->db->query(&quot; Ваш запрос &quot;); foreach ($query->result() as $row) {     echo $row->title;    echo $row->name; }   $query->num_rows()  –  количество строк, полученых по выполнению запроса. $query->num_fields()  –  количество  полей, возвращаемых по выполнению запроса.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Загрузка файлов и изображений ,[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Контроллер upload.php: <?php class Upload extends Controller { function Upload() { parent::Controller(); } function index() { $this->load->view('upload_form',  array('error' => ' ' )); }
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Страница  уведомления о завершенной загрузке  upload_success.php
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Локализация
[object Object],[object Object],[object Object],Локализация
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Вывод  . Преймущества  CodeIgniter

More Related Content

What's hot

Семинар-практикум по Drupal
Семинар-практикум по DrupalСеминар-практикум по Drupal
Семинар-практикум по Drupalit-people
 
Все дороги ведут в Checkout
Все дороги ведут в CheckoutВсе дороги ведут в Checkout
Все дороги ведут в CheckoutMagecom Ukraine
 
Импорт данных с фреймворком Migrate. Владислав Богатырев.
Импорт данных с фреймворком Migrate. Владислав Богатырев.Импорт данных с фреймворком Migrate. Владислав Богатырев.
Импорт данных с фреймворком Migrate. Владислав Богатырев.DrupalCampDN
 
Html Metaform дмитрий котеров
Html Metaform   дмитрий котеровHtml Metaform   дмитрий котеров
Html Metaform дмитрий котеровMedia Gorod
 
Ф'Yii'лософия
Ф'Yii'лософияФ'Yii'лософия
Ф'Yii'лософияPaul Klimov
 
Rich UI on Dojo Toolkit and Zend Framework
Rich UI on Dojo Toolkit and Zend FrameworkRich UI on Dojo Toolkit and Zend Framework
Rich UI on Dojo Toolkit and Zend FrameworkGeorgy Turevich
 
Миша Рудрастых: Введение в HTTP API WordPress
Миша Рудрастых: Введение в HTTP API WordPressМиша Рудрастых: Введение в HTTP API WordPress
Миша Рудрастых: Введение в HTTP API WordPressRuslan Begaliev
 
Построение индексов Redis
Построение индексов RedisПостроение индексов Redis
Построение индексов RedisPetr Trofimov
 
ZFConf 2010: History of e-Shtab.ru
ZFConf 2010: History of e-Shtab.ruZFConf 2010: History of e-Shtab.ru
ZFConf 2010: History of e-Shtab.ruZFConf Conference
 
Индексирование в Magento
Индексирование в MagentoИндексирование в Magento
Индексирование в MagentoMagecom Ukraine
 
ZFConf 2010: Zend Framework and Multilingual
ZFConf 2010: Zend Framework and MultilingualZFConf 2010: Zend Framework and Multilingual
ZFConf 2010: Zend Framework and MultilingualZFConf Conference
 
Алексей Байтин, Алексей Осипенко "Проверка правописания в веб-приложениях"
Алексей Байтин, Алексей Осипенко "Проверка правописания в веб-приложениях"Алексей Байтин, Алексей Осипенко "Проверка правописания в веб-приложениях"
Алексей Байтин, Алексей Осипенко "Проверка правописания в веб-приложениях"Yandex
 
Problems of Automated Generation of Exploits on the Basis of Source Code
Problems of Automated Generation of Exploits on the Basis of Source CodeProblems of Automated Generation of Exploits on the Basis of Source Code
Problems of Automated Generation of Exploits on the Basis of Source CodePositive Hack Days
 
Реализация шаблонов корпоративных приложений в Magento
Реализация шаблонов корпоративных приложений в MagentoРеализация шаблонов корпоративных приложений в Magento
Реализация шаблонов корпоративных приложений в MagentoMagecom Ukraine
 

What's hot (14)

Семинар-практикум по Drupal
Семинар-практикум по DrupalСеминар-практикум по Drupal
Семинар-практикум по Drupal
 
Все дороги ведут в Checkout
Все дороги ведут в CheckoutВсе дороги ведут в Checkout
Все дороги ведут в Checkout
 
Импорт данных с фреймворком Migrate. Владислав Богатырев.
Импорт данных с фреймворком Migrate. Владислав Богатырев.Импорт данных с фреймворком Migrate. Владислав Богатырев.
Импорт данных с фреймворком Migrate. Владислав Богатырев.
 
Html Metaform дмитрий котеров
Html Metaform   дмитрий котеровHtml Metaform   дмитрий котеров
Html Metaform дмитрий котеров
 
Ф'Yii'лософия
Ф'Yii'лософияФ'Yii'лософия
Ф'Yii'лософия
 
Rich UI on Dojo Toolkit and Zend Framework
Rich UI on Dojo Toolkit and Zend FrameworkRich UI on Dojo Toolkit and Zend Framework
Rich UI on Dojo Toolkit and Zend Framework
 
Миша Рудрастых: Введение в HTTP API WordPress
Миша Рудрастых: Введение в HTTP API WordPressМиша Рудрастых: Введение в HTTP API WordPress
Миша Рудрастых: Введение в HTTP API WordPress
 
Построение индексов Redis
Построение индексов RedisПостроение индексов Redis
Построение индексов Redis
 
ZFConf 2010: History of e-Shtab.ru
ZFConf 2010: History of e-Shtab.ruZFConf 2010: History of e-Shtab.ru
ZFConf 2010: History of e-Shtab.ru
 
Индексирование в Magento
Индексирование в MagentoИндексирование в Magento
Индексирование в Magento
 
ZFConf 2010: Zend Framework and Multilingual
ZFConf 2010: Zend Framework and MultilingualZFConf 2010: Zend Framework and Multilingual
ZFConf 2010: Zend Framework and Multilingual
 
Алексей Байтин, Алексей Осипенко "Проверка правописания в веб-приложениях"
Алексей Байтин, Алексей Осипенко "Проверка правописания в веб-приложениях"Алексей Байтин, Алексей Осипенко "Проверка правописания в веб-приложениях"
Алексей Байтин, Алексей Осипенко "Проверка правописания в веб-приложениях"
 
Problems of Automated Generation of Exploits on the Basis of Source Code
Problems of Automated Generation of Exploits on the Basis of Source CodeProblems of Automated Generation of Exploits on the Basis of Source Code
Problems of Automated Generation of Exploits on the Basis of Source Code
 
Реализация шаблонов корпоративных приложений в Magento
Реализация шаблонов корпоративных приложений в MagentoРеализация шаблонов корпоративных приложений в Magento
Реализация шаблонов корпоративных приложений в Magento
 

Similar to Ci

ZFConf 2010: Zend Framework and Doctrine
ZFConf 2010: Zend Framework and DoctrineZFConf 2010: Zend Framework and Doctrine
ZFConf 2010: Zend Framework and DoctrineZFConf Conference
 
Saint Perl 2009: CGI::Ajax demo
Saint Perl 2009: CGI::Ajax demoSaint Perl 2009: CGI::Ajax demo
Saint Perl 2009: CGI::Ajax demomegakott
 
Adobe Flex константин ковалев
Adobe Flex   константин ковалевAdobe Flex   константин ковалев
Adobe Flex константин ковалевMedia Gorod
 
Страх и ненависть в исходном коде
Страх и ненависть в исходном кодеСтрах и ненависть в исходном коде
Страх и ненависть в исходном кодеKolya Korobochkin
 
Silverlight 4, есть ли жизнь на десктопе?
Silverlight 4, есть ли жизнь на десктопе?Silverlight 4, есть ли жизнь на десктопе?
Silverlight 4, есть ли жизнь на десктопе?Eugene Zharkov
 
Alexander manuhin selenium_php_v2.0
Alexander manuhin selenium_php_v2.0Alexander manuhin selenium_php_v2.0
Alexander manuhin selenium_php_v2.0matroskin1980
 
Пластилиновый код: как перестать кодить и начать жить
Пластилиновый код: как перестать кодить и начать житьПластилиновый код: как перестать кодить и начать жить
Пластилиновый код: как перестать кодить и начать житьMoscow.pm
 
Advanced Sql Injection
Advanced Sql InjectionAdvanced Sql Injection
Advanced Sql InjectionDmitry Evteev
 
Разработка сложного каталога средствами CMF Bitrix
Разработка сложного каталога средствами CMF BitrixРазработка сложного каталога средствами CMF Bitrix
Разработка сложного каталога средствами CMF BitrixKyrylo Melnychuk
 
Интеграция Яндекс Сервер
Интеграция Яндекс СерверИнтеграция Яндекс Сервер
Интеграция Яндекс СерверPVasili
 
PHP Tricks
PHP TricksPHP Tricks
PHP TricksBlackFan
 
Psgi app
Psgi appPsgi app
Psgi appund3f
 
06 net saturday eugene zharkov ''silverlight. to oob or not to oob''
06 net saturday eugene zharkov ''silverlight. to oob or not to oob''06 net saturday eugene zharkov ''silverlight. to oob or not to oob''
06 net saturday eugene zharkov ''silverlight. to oob or not to oob''DneprCiklumEvents
 

Similar to Ci (20)

ZFConf 2010: Zend Framework and Doctrine
ZFConf 2010: Zend Framework and DoctrineZFConf 2010: Zend Framework and Doctrine
ZFConf 2010: Zend Framework and Doctrine
 
Saint Perl 2009: CGI::Ajax demo
Saint Perl 2009: CGI::Ajax demoSaint Perl 2009: CGI::Ajax demo
Saint Perl 2009: CGI::Ajax demo
 
Yserver
YserverYserver
Yserver
 
Введение в Django
Введение в DjangoВведение в Django
Введение в Django
 
Adobe Flex константин ковалев
Adobe Flex   константин ковалевAdobe Flex   константин ковалев
Adobe Flex константин ковалев
 
Страх и ненависть в исходном коде
Страх и ненависть в исходном кодеСтрах и ненависть в исходном коде
Страх и ненависть в исходном коде
 
PT Hackday#2
PT Hackday#2PT Hackday#2
PT Hackday#2
 
Perl in practice
Perl in practicePerl in practice
Perl in practice
 
Silverlight 4, есть ли жизнь на десктопе?
Silverlight 4, есть ли жизнь на десктопе?Silverlight 4, есть ли жизнь на десктопе?
Silverlight 4, есть ли жизнь на десктопе?
 
Alexander manuhin selenium_php_v2.0
Alexander manuhin selenium_php_v2.0Alexander manuhin selenium_php_v2.0
Alexander manuhin selenium_php_v2.0
 
Пластилиновый код: как перестать кодить и начать жить
Пластилиновый код: как перестать кодить и начать житьПластилиновый код: как перестать кодить и начать жить
Пластилиновый код: как перестать кодить и начать жить
 
Advanced Sql Injection
Advanced Sql InjectionAdvanced Sql Injection
Advanced Sql Injection
 
Разработка сложного каталога средствами CMF Bitrix
Разработка сложного каталога средствами CMF BitrixРазработка сложного каталога средствами CMF Bitrix
Разработка сложного каталога средствами CMF Bitrix
 
Интеграция Яндекс Сервер
Интеграция Яндекс СерверИнтеграция Яндекс Сервер
Интеграция Яндекс Сервер
 
176023
176023176023
176023
 
PHP Tricks
PHP TricksPHP Tricks
PHP Tricks
 
Psgi app
Psgi appPsgi app
Psgi app
 
Почему Mojolicious?
Почему Mojolicious?Почему Mojolicious?
Почему Mojolicious?
 
Mojolicious
MojoliciousMojolicious
Mojolicious
 
06 net saturday eugene zharkov ''silverlight. to oob or not to oob''
06 net saturday eugene zharkov ''silverlight. to oob or not to oob''06 net saturday eugene zharkov ''silverlight. to oob or not to oob''
06 net saturday eugene zharkov ''silverlight. to oob or not to oob''
 

Ci

  • 1. Выполнила: ст.гр ИТ-07-2 Лысак О.Ю. Использование фреймворка CodeIgniter для автоматизации решения типовых задач web- разработки
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7. Создание web- форм Атрибуты могут быть добавлены путём передачи ассоциативного массива вторым параметром: $attributes = array('class' => 'email', 'id' => 'myform'); echo form_open('email/send', $attributes); <form method=&quot;post&quot; action=&quot;http:/www.your-site.com/index.php/email/send&quot;   class=&quot;email&quot;  id=&quot;myform&quot; />
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 15. Пейджинация Это набор ссылок позволяющих перемещаться по страницам, например: « В начало    1    2    3    4    5    В конец » Создание пейджинации в одном из контроллеров: $this->load->library('pagination'); $config['base_url'] = 'http://www.your-site.com/index.php/test/page/'; $config['total_rows'] = '200'; $config['per_page'] = '20';  $this->pagination->initialize($config);  echo $this->pagination->create_links();   Массив  $config   содержит конфигурационные переменные. Он передается в функцию  $this->pagination->initialize , как показано выше base_url  — это полный путь к классу контроллера/функции содержащей нумерацию страниц. В примере выше контроллер «Test», а функция «page». total_rows  — это общее число страниц, которые будут в результате. Обычно это количество записей, возвращаемых запросом к базе данных. per_page  — это количество элементов, которое вы намерены показать на странице. В примере выше, будет выводится двадцать элементов на страницу. Функция  create_links()   вернет пустую строку, когда не будет необходимости показывать нумерацию.
  • 16.
  • 17.
  • 18. Операции с СУБД $this->db->select('*'); $this->db->from('blogs'); $this->db->join('comments', 'comments.id = blogs.id'); $query = $this->db->get(); SELECT * FROM blogs JOIN comments ON comments.id = blogs.id
  • 19. Операции с СУБД Функции для получения результатов запроса: result() - функция возвращает результаты запроса в виде массива  объектов , или  пустой массив  в случае неудачи. Лучше всего такой результат обрабатывается перебором массива с помощью foreach: $query = $this->db->query(&quot; Ваш запрос &quot;); foreach ($query->result() as $row) {     echo $row->title;    echo $row->name; }   $query->num_rows() – количество строк, полученых по выполнению запроса. $query->num_fields() – количество полей, возвращаемых по выполнению запроса.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.