Лабораторная работа №5
Работа с таблицами БД с использованием MVC фреймворка
Цель работы: получить практические разработки модулей приложений с помощью фреймворка CodeIgniter для разработки каталога.
Теоретические сведения
Использование хелперов:
- Хелперы, как говорит их название, помогают в решении задач разработчика. Каждый файл с хелперами — это простая коллекция функций в той или иной категории.
- URL Хелперы - помогают создавать ссылки,
- Хелперы форм - помогают создать элементы форм
- Текстовые хелперы - выполняют различные функции по форматированию текста
…..
- Если нужно загрузить более одного хелпера, можно перечислить их в одном массиве:
$this->load->helper( array('helper1', 'helper2', 'helper3') );
- Авто-загрузка хелперов - если необходим хелпер для всего приложения, можно указать CodeIgniter, чтобы он загружал его при инициализации приложения.
В файле application/config/autoload.php добавить хелпер в массив автозагрузки:
$autoload['helper'] = array('url');
Users id First_name Last_name nick email password
Пример:
Структура приложения:
- Controllers:
admin.php
- Models:
-blog_model.php
-user_model.php
-post_model.php
- Views:
Content, например View/post.php
<div>
<div style="color:blue"><?=$this->session->flashdata('info')?></div>
<table border="1">
<tr> <td> Id </td> <td> Id_user </td> <td> post_name </td> <td> post_data </td><td> post_delete</td>
</tr>
<?php foreach($posts as $post):?>
<tr>
<td><?=$post->id_post?></td>
<td><?=$post->first_name?></td>
<td><?=$post->contents?></td>
<td><?=$post->created_at?></td>
<td><?=anchor("admin/delete_post/$post->id", "delete")?></td>
</tr>
<?php endforeach; ?>
</table>
</div>
View/Profiles.php
<div>
<div style="color:blue"><?=$this->session->flashdata('info')?></div>
<table border="1">
<tr> <th>Id:</th> <td><?=$profile->id?></td></tr>
<tr> <th>First name:</th> <td><?=$profile->first_name?></td></tr>
<tr> <th>Last name:</th> <td><?=$profile->last_name?></td></tr>
<tr> <th>Nick:</th><td><?=anchor("admin/edit_profile", $profile->nick)?></td>
</tr>
<tr> <th>E-mail:</th> <td><?=$profile->email?></td></tr>
</table>
</div>
Controller/admin.php
<?php
class Admin extends Controller {
function Admin()
{ parent::Controller();
$this->load->model('Blog_model', 'blog');
$this->load->model('User_model', 'user');
$this->load->model('Post_model', 'post');
$this->load->helper(array('form', 'text', 'admin')); }
function index()
{ redirect("admin/settings"); }
function settings() {
$data['settings'] = $this->blog->current();
$this->_render('settings', $data); }
function profile() {
$data['profile'] = $this->user->current(); // Обращение к модели, вызов функции
$this->_render('profiles', $data); } // имя view
function post() {
$data['posts'] = $this->post->all();
$this->_render('posts', $data); }
function edit_profile() {
$this->form_validation->set_rules('profile[first_name]', 'First name', 'required');
$this->form_validation->set_rules('profile[last_name]', 'Last name', 'required');
$this->form_validation->set_rules('profile[nick]', 'Nick', 'required');
if ($this->form_validation->run() == FALSE) {
$this->session->set_flashdata('info', "Profile not saved!");
$data['profile'] = $this->user->current();
$this->_render('edit_profile', $data); }
else { $this->user->edit_profile($this->input->post('profile')); // Обращение к модели, вызов функции edit_profile. Передача данных по методу post
$this->session->set_flashdata('info', "Provile saved!");
redirect('admin/profile'); } }
Задание на работу:
Используя MVC фреймворк выполнить следующее:
1 Разработать модуль авторизации пользователей
2 Выполнить валидацию данных
3 Реализовать crud операции (create, read, update, delete) над основными сущностями предметной области
Скачано с www.znanio.ru
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.