[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Фреймворк CodeIgniter
Krevedko
Во-первых, не нашел на форуме раздел, где обсуждаются именно фреймворки и только фреймворки. Этот раздел вроде как ближе всего.
Во-вторых, есть ли тут человек, знакомый именно с этим фрейморком, которого я мог бы спрашивать по изучению. Потому что пока приходится разбираться со всем самому. В принципе мне пока все понятно, но хотелось бы изучить не только азы, а всякие там интересные вещи.
Выбрал этот фреймворк, т.к. по нему очень много документации и видеокурсов. Но в видеокурсе одном я с многим несогласен и сейчас сижу, пишу сайт на пробу, используя только документацию.



Спустя 2 минуты, 18 секунд (8.04.2011 - 14:22) Basili4 написал(а):
Мне тоже он понравился. Но он прореживает совместимость с Php 4 что я считаю избыточным. По этому иногда использую Kohana.

Спустя 2 минуты, 22 секунды (8.04.2011 - 14:24) Krevedko написал(а):
вроде версия 2.0.2 полностью на пхп5. она вышла два месяца назад

Спустя 51 минута, 47 секунд (8.04.2011 - 15:16) Basili4 написал(а):
попробую 2.0.2

Спустя 1 минута, 43 секунды (8.04.2011 - 15:18) Krevedko написал(а):
вот например набросал контроллер, который загружает фотографии (с переименованием), делает мини-копию и добавляет название загруженной фотки в базу. даже работает. вывод вида пока некрасивый, потом сделаю....сам код хоть верно пишу ? или гавнисто ? методы эти все итд


if (!defined('BASEPATH'))
exit('No direct script access allowed');


class Upload extends CI_Controller
{

public function __construct()
{
parent::__construct();
$this->load->helper(array('form', 'url'));
}

public function index()
{
$this->load->view('upload/upload_form', array('error' => ' ' ));
}

//Метод загрузки картинок
public function do_upload()
{
$config['upload_path'] = './public/pics/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '1000';
$config['max_width'] = '1600';
$config['max_height'] = '1200';
$config['encrypt_name'] = TRUE;
$config['remove_spaces'] = TRUE;

$this->load->library('upload', $config);

if ( ! $this->upload->do_upload())
{
$error = array('error' => $this->upload->display_errors());

$this->load->view('upload/upload_form', $error);
}
else
{
$data = array('upload_data' => $this->upload->data());
$this->create_mini($data['upload_data']['file_name']);
$this->bd_add($data['upload_data']);

$this->load->view('upload/upload_success', $data);
}
}


//Метод создания миниатюры изображения
private function create_mini($file_name)
{
$config['image_library'] = 'gd2';
$config['source_image'] = './public/pics/' . $file_name;
$config['new_image'] = './public/pics/mini/' . $file_name;
$config['create_thumb'] = TRUE;
$config['maintain_ratio'] = TRUE;
$config['thumb_marker'] = '';
$config['width'] = 180;
$config['height'] = 150;

$this->load->library('image_lib', $config);

if (!$this->image_lib->resize())
{
echo $this->image_lib->display_errors();
die();
}
}


//Метод добавления информации в БД
private function bd_add($pic_data)
{
$data['file_name'] = $pic_data['file_name'];
$this->db->insert('photo', $data);
}
}


Спустя 1 час, 1 минута, 29 секунд (8.04.2011 - 16:19) Zerstoren написал(а):
Я пишу на CI близко 8 месяцев на работе.
В общих чертах правильно.

НО!

Вот это лучше перевести в Модель.
Весь одноразовый код, стоит переводить в Модель.

Еще говорят что стоит в модель БД запросы, но я противник этого.
т.к. это убивает массу времени.


Будут вопросы - пишите в личку.

Спустя 29 секунд (8.04.2011 - 16:20) Krevedko написал(а):
спасибо. я пишу два дня :)
мне кстати противен нейтив синтаксис в виде, поэтому я переделал скрипт-парсер темплейтов Николая в либу и в контроллере делаю так:

public function index()
{
//Загружаем темплейт блока
$this->load->library('template_parser');
$tpl = $this->template_parser->get_tpl('application/views/main/block.tpl');

$result = $this->get('photo');
$j = (count($result) < QUANTITY)? count($result) : QUANTITY;
$blocks = '';
for($i = 0; $i < $j; $i++)
{
$data = $result[$i];
$block = $this->template_parser->parse_tpl($tpl, $data);
$blocks .= $block;
}

$data['blocks'] = $blocks;

//Загружаем основной контент главной страницы
ob_start();
$this->load->view('main/show', $data);
$data['content'] = ob_get_contents();
ob_end_clean();

$this->load->view('main', $data);
}


в итоге в хтмл коде достаточно эху поставить. никаких циклов или условий

Спустя 3 минуты, 31 секунда (8.04.2011 - 16:23) Zerstoren написал(а):
А чем он вам так не понравился?

Спустя 2 минуты, 41 секунда (8.04.2011 - 16:26) Krevedko написал(а):
незнаю. напоминает кашу и поповщину )))
я привык
а) нарезать хтмл не так, как любят делать типа хидер, контент, футер..получаются куски блоков, открытые блоки без закрытия итд. Очень трудно верстку править. У меня это main.html (или php), где доктайп, хидер с футером и в середине стоит echo $content
б) юзать кеширование ( ob_get_contents() ). echo $content как раз и загружает закешированный иклюд хтмл-ины

мне это все очень удобно и понятно

Спустя 1 минута, 53 секунды (8.04.2011 - 16:28) Zerstoren написал(а):
А что вам мешает сделать 1н основной виевер который будет уже сам собирать все остальное. Той же функцией $this->load->view('tra-ta-ta')

Спустя 24 минуты, 30 секунд (8.04.2011 - 16:52) Krevedko написал(а):
если там идет вывод нескольких одинаковых блоков с разной инфой, без цикла не обойтись

Спустя 2 минуты (8.04.2011 - 16:54) Zerstoren написал(а):
Креведко, не вводите себя в какие-то правила или рамки.

В чем прелесть CI можно вызывать все и от куда угодно.
Но не забывайте, что нужно сделать не CMS, а сайт на CI

Спустя 4 минуты, 45 секунд (8.04.2011 - 16:59) Krevedko написал(а):
ну я как бы и не ввожу, а наоборот скорее делаю по своему.
скачал доп-но видеокурс

отсюда
но посмотрел буквально только раздел4. там, где автор начал создавать приложение, я со многим не согласен, выключил и использую пока что исключительно документацию по фреймворку (документация отличная кстати говоря). и пишу так, как мне удобно.
приходится изголяться. например я хотел разместить цсс и ява-скрипты в папке view...не вышло. пришлось сувать в корень в папку public

Спустя 47 минут, 15 секунд (8.04.2011 - 17:46) Zerstoren написал(а):
Не стоит показывать юзерам, что вы юзаете CI.

Вообще не стоит показывать что за система.

Вот пример сайт
netpeak.ua на CI
и perspectiva.kharkov.ua

разница между ними одна.
Если вызвать страницу http://netpeak.ua/%D1%8B%D0%B2%D0%B0%D1%8B...B2%D0%B0%D1%8B/
то будет 404.

А если вызвать тоже самое на перспективе появится http://www.perspectiva.kharkov.ua/фывф/

А это видно что CI. А у новых версия - вообще подтверждается вид CI

Спустя 29 минут, 32 секунды (8.04.2011 - 18:16) Krevedko написал(а):
а это интересно CI или нет ))
ЭТО

смотреть со звуком обязательно !!
по поводу
Цитата
Вот это лучше перевести в Модель.
Весь одноразовый код, стоит переводить в Модель.

Еще говорят что стоит в модель БД запросы, но я противник этого.
т.к. это убивает массу времени.


в модели же вроде должны быть скрипты работы с базой. я конечно перенесу туда куски вроде
		
//Метод добавления информации в БД
private function bd_add($pic_data)
{ $data['file_name'] = $pic_data['file_name']; $this->db->insert('photo', $data);
}

тем более, что недописано еще. я пишу для закрепления галлерею с коментами, рейтингом фоток итд. пока что он пишет в базу только названия фоток. а зачем остальное-то в модель тулить ?

Спустя 13 минут, 35 секунд (8.04.2011 - 18:30) Zerstoren написал(а):
Лично мне в коде не мешают запросы в базу.

А т.к. я сделал свой Фреймворк, на основе логики CI
Могу сказать, что использование модели исключительно в качестве оболочки для БД не обязательно, а сайт начинает только сильнее тормозить.

По этому все дело принципа, я использую модель для черновых действий.

Спустя 6 минут, 1 секунда (8.04.2011 - 18:36) twin написал(а):
Zerstoren
Цитата
Не стоит показывать юзерам, что вы юзаете CI.
Упс... Любопытно... А почему?

Спустя 9 минут, 5 секунд (8.04.2011 - 18:45) Krevedko написал(а):
из-за дырок видимо )
фреймворк-это же открытый код. как и цмс

Спустя 1 минута, 56 секунд (8.04.2011 - 18:47) Zerstoren написал(а):
Все дырки можно найти в коде и ими воспользоваться - если вы знаете что за система.

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

Спустя 7 минут, 23 секунды (8.04.2011 - 18:54) Krevedko написал(а):
Zerstoren -у вас аська есть ? Надоедать не буду.

Спустя 10 минут, 42 секунды (8.04.2011 - 19:05) twin написал(а):
Я не просто спросил... Вы что, ребята, юзаете систему, в которой не уверены???

Собственно про CI я такого не слышал, может потому, что мало интересовался. Это был первый фреймворк, с которым я познакомился. Даже переводил доку сам, пока не нашел сайтег с переводом. smile.gif




Спустя 10 минут, 25 секунд (8.04.2011 - 19:15) Krevedko написал(а):
мы не уверены ни в какой системе. будь то зенд, кейк или ки.
не знаю, мне пока все нравится. весьма удобно сделано конечно. и сайты с переводом действительно есть. причем уже даже перевели доку под новую версию, которой всего-то 3 месяца.
Кстати, Коля. примочки типа проверки константы вначале каждого скрипта тут тоже присутствуют. прям как у тебя biggrin.gif

Спустя 49 минут, 47 секунд (8.04.2011 - 20:05) twin написал(а):
Ни что человеческое нам не чуждо))) Хотя у меня это не оттуда. Это гораздо раньше.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.