ФорумПрограммированиеPHP для идиотовPHP и ООП → Code Igniter (начало начал))

Code Igniter (начало начал))

  • maxfr

    Сообщения: 545 Репутация: N Группа: Кто попало

    Spritz 19 октября 2010 г. 13:06

    Все привет, кто писал с помощью такого файмворка как Code Igniter?

    Я тут попытался что то набросать на нем, но тут наверное больше по ооп.
    Выкладываю Вам на обсуждение, прошу сильно не бить.

    <?php
    class Afisha extends Controller {

    function index(){
    $pageData['title'] = "Gookit Афиша – главная";
    $pageData['billboards'] = $this->getAllAfisha();
    if ($pageData['billboards'] == false) {
    $pageData['errorAfisha'] = "Мероприятия не найдены";
    }
    $this->load->view('afisha', $pageData);
    }

    function getAllAfisha(){
    $qGetAll = "SELECT `afisha`.`afisha_title`, `afisha`.`afisha_min_discription`
    `afisha`.`afisha_organizat_people`, `afisha`.`afisha_partner_people`,
    `afisha`.`afisha_sait`
    FROM `afisha`";
    $res = $this->db->query($qGetAll);
    $afishaData = $res->result_array();
    if (count($afishaData) == 0) {
    return false;
    }
    return $afishaData;
    }

    function getAfishaDetails($afisha_id) {
    if(!isset($afisha_id) OR !$afisha_id){
    return false;
    }else{
    $qGetAfisha = "SELECT `afisha`.`afisha_title`, `afisha`.`afisha_full_discription`
    `afisha`.`afisha_organizat_people`, `afisha`.`afisha_partner_people`,
    `afisha`.`afisha_sait`
    FROM `afisha` WHERE `afisha`.`afisha_id`=?";
    $res = $this->db->query($qGetAfisha, array($afisha_id));
    $afishaData = $res->result_array();
    if (count($afishaData) == 0) {
    return false;
    }
    return $afishaData[0];
    }
    }

    function addAfisha($afisha_title, $afisha_min_desc, $afisha_full_desc){
    $title = $this->input->post('afisha_title');
    $min_discript = $this->input->post('afisha_min_discription');
    $full_discript = $this->input->post('afisha_full_discription');

    $qSetAfisha="INSERT INTO `afisha` (`afisha_title`,`afisha_min_discription`, `afisha_full_discription`) VALUES ($title, $min_discript, $full_discript)";
    $res = $this->db->query($qSetAfisha);
    }

    function modAfisha($afisha_id){
    $title = $this->input->post('afisha_title');
    $min_discript = $this->input->post('afisha_min_discription');
    $full_discript = $this->input->post('afisha_full_discription');

    $qSetAfisha="UPDATE `afisha`
    SET
    `afisha_title` = {$title},
    `afisha_min_discription` = {$min_discription},
    `afisha_full_discription` = {$full_discription},
    `afisha_organizat_people` = {$organizat_people},
    `afisha_partner_people` = {$partner_people},
    `afisha_sait` = {$sait}
    WHERE `afisha`.`afisha_id`={$afisha_id};
    ";
    $res = $this->db->query($qSetAfisha);
    }

    function delAfisha($afisha_id){
    if(!isset($afisha_id) OR !$afisha_id){
    return false;
    }else{
    $qGetAfisha= "SELECT FROM `afisha` WHERE `afisha`.`afisha_id`=? LIMIT 1";
    $res = $this->db->query($qGetAfisha, array($afisha_id));
    return true;
    }
    }

    }


  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 19 октября 2010 г. 13:10, спустя 4 минуты 19 секунд

    бредятина полнейшая, зачем передавать переменные и никогда их не использовать…. эх если бы это всё компилировалось, то ты бы увидел…
  • maxfr

    Сообщения: 545 Репутация: N Группа: Кто попало

    Spritz 19 октября 2010 г. 13:14, спустя 3 минуты 28 секунд

    где переменные я передал котор не использовал?
    $afisha_title, $afisha_min_desc, $afisha_full_desc
    $afisha_id

    вроде ж они все используются..
  • VaseninM

    Сообщения: 2416 Репутация: N Группа: Адекваты

    Spritz 19 октября 2010 г. 13:17, спустя 3 минуты 46 секунд

    Говорят(с), что начинать учить ci и cake сейчас немного глупо ибо yii (их одноклассник сейчас их превосходит).
  • maxfr

    Сообщения: 545 Репутация: N Группа: Кто попало

    Spritz 19 октября 2010 г. 13:22, спустя 4 минуты 40 секунд

    Конечно, yii может и превосходит, но мне сейчас требется этот фраймворк)
    Спустя 123 сек.
    SpartakuS, а ты ci изучал?
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 19 октября 2010 г. 13:26, спустя 4 минуты 25 секунд

    вроде ж они все используются..

    значит я чего то не понимаю…
        function addAfisha($afisha_title, $afisha_min_desc, $afisha_full_desc){
    $title = $this->input->post('afisha_title');
    $min_discript = $this->input->post('afisha_min_discription');
    $full_discript = $this->input->post('afisha_full_discription');

    $qSetAfisha="INSERT INTO `afisha` (`afisha_title`,`afisha_min_discription`, `afisha_full_discription`) VALUES ($title, $min_discript, $full_discript)";
    $res = $this->db->query($qSetAfisha);
    }

  • VaseninM

    Сообщения: 2416 Репутация: N Группа: Адекваты

    Spritz 19 октября 2010 г. 13:29, спустя 2 минуты 44 секунды

    maxfr, нет. Я на уровне фреймворков не многим выше тебя и то не факт.
    Работал только с юии.
  • maxfr

    Сообщения: 545 Репутация: N Группа: Кто попало

    Spritz 19 октября 2010 г. 13:31, спустя 1 минуту 37 секунд

    Я постом перехватил переменные, которые пришли к нам и записал их в БД.

    Рациональнее наверное так
    function addAfisha(){
           $title = $this->input->post('afisha_title');
           $min_discript = $this->input->post('afisha_min_discription');
           $full_discript = $this->input->post('afisha_full_discription');

           $qSetAfisha="INSERT INTO `afisha` (`afisha_title`,`afisha_min_discription`, `afisha_full_discription`) VALUES ($title, $min_discript, $full_discript)";
           $res = $this->db->query($qSetAfisha);
       }
  • maxfr

    Сообщения: 545 Репутация: N Группа: Кто попало

    Spritz 19 октября 2010 г. 13:42, спустя 11 минут 11 секунд

    покажите плиз еще на баги!
    Как правильнее реализовывать тут уровни доступа? Мое мнение было таково

    public function index(){
    }

    public function getAllAfisha(){
    }

    public function getAfishaDetails($afisha_id) {

    }

    private function addAfisha($afisha_title, $afisha_min_desc, $afisha_full_desc){

    }

    private function modAfisha($afisha_id){
    }

    private function delAfisha($afisha_id){

    }

    Спустя 47 сек.
    private function addAfisha(){


    =))))
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 19 октября 2010 г. 13:50, спустя 8 минут 19 секунд

    Рациональнее наверное так

    таким же гавном и осталось. Скажи спасибо за искренность!
  • maxfr

    Сообщения: 545 Репутация: N Группа: Кто попало

    Spritz 19 октября 2010 г. 13:57, спустя 6 минут 16 секунд

    Подскажи как нужно, я что не пойму что тут так плохо!

  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 19 октября 2010 г. 13:58, спустя 1 минуту 50 секунд

    Спартакус прав, кодигнитер нынче не особо актуален из-за его пхп4-ошности. ИМХО - Кохана, но 2-ая ветка, там не много разницы с кодигнитером (3-я уже больше на Зенд по идеологии схожа). А yii, насколько я наслышан, тоже крут, но так как его не смотрел, то сказать ничего не могу, кроме как у него явный плюс - он не поддерживает 4-ую пыху.
  • maxfr

    Сообщения: 545 Репутация: N Группа: Кто попало

    Spritz 19 октября 2010 г. 14:01, спустя 3 минуты 6 секунд

    Givi, а сам не испытывал?
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 19 октября 2010 г. 14:04, спустя 2 минуты 25 секунд

    Подскажи как нужно,  я что не пойму что тут так плохо!

    да всё плохо. Если ты пишешь так:
    $res = $this->db->query($qSetAfisha);

    то всё плохо..
    Навиг тебе переменная $res? Дело не в том что ты её и в жопу не засовываешь, а ты не думаешь нифига. Ты думай, потом пиши…
  • maxfr

    Сообщения: 545 Репутация: N Группа: Кто попало

    Spritz 19 октября 2010 г. 14:09, спустя 4 минуты 54 секунды

    kostyl, я ещё не волшебник! Это щас исправлю! Какие еще косяки бросились в гла3а?

Пожалуйста, авторизуйтесь, чтобы написать комментарий!