За последние 24 часа нас посетили 16899 программистов и 1646 роботов. Сейчас ищут 944 программиста ...

Осознание работы php в целом)

Тема в разделе "PHP для новичков", создана пользователем semjaza, 22 ноя 2014.

  1. semjaza

    semjaza Новичок

    С нами с:
    22 окт 2013
    Сообщения:
    40
    Симпатии:
    0
    В общем потихоньку постигаю фреймворк CodeIgniter да и PHP в целом...
    Изучаю вышеупомянутое по видеурокам и мануалу...
    И сразу же столкнулся с совершенно жуткой проблемой. Заключается она в следующем (изучение проходит на примере программирования простенького блога):
    -есть структура фреймворка(MVC-модель-вид-контроллер)
    -есть 2 таблицы в базе данных(в одной категории, в другой статьи для данных категорий)
    -есть модель pages_model следующего содержания:

    Код (Text):
    1. function __construct()
    2.     {
    3.         parent::__construct();
    4.     }
    5.    
    6.     function get_pages()
    7.     {
    8.         $query = $this->db->get('categories');
    9.         return $query->result_array();
    10.     }
    11.    
    12.     function get_pages_info($title)
    13.     {
    14.         $this->db->where('title_en',$title);
    15.         $query = $this->db->get('categories');
    16.         return $query->row_array();
    17.     }
    В ней есть два метода:get_pages()-получает информацию из таблицы categories и возвращает результат.
    get_pages_info-получает информацию по отдельной категории по title_en.

    -есть контроллер pages следующего содержания:

    Код (Text):
    1. public function index()
    2.     {
    3.         redirect(base_url());
    4.     }
    5.    
    6.     public function page($title)
    7.     {
    8.         $data['pages'] = $this->pages_model->get_pages();
    9.         $data['pages_info'] = $this->pages_model->get_pages_info($title);
    10.     $this->template->page_view($data);
    11.     }
    $data['pages_info']-этот массив хранит все данные по конкретной статье (как я понимаю)

    -есть вид в котором в цикле foreach выводятся категории при клике по которым происходит переход к виду конкретной страницы:

    Код (Text):
    1. <?php foreach($pages as $item):?>
    2.        Категория: <a class="one" href="<?=base_url();?>index.php/pages/page/<?=$item['title_en'];?>"><?=$item['title'];?></a>&nbsp;&nbsp;<span><?=$item['count_view'];?></span><br />
    3. <?php endforeach;?>
    ВОПРОС - для получения информации по каждой странице используется переменная $title ...но она ведь не определена...или я чего-то не понимаю...как это работает -поясните если можно неучу)))
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Определи :D
     
  3. semjaza

    semjaza Новичок

    С нами с:
    22 окт 2013
    Сообщения:
    40
    Симпатии:
    0
    это совет?внушение?или что? для чего нужен форум-если на вопрос как это работает? ответили-определи???типа стандартный ответ-почитай тут и ссылка на документацию))) ну знаю я что при вызове контроллера(метода в нём) передаётся что-то...и что? или что есть функция обновления данных update...это ведь чистая теория)я хочу знать как это работает....
     
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    $title - параметр функции. Код, который функцию вызывает, я не увидел. Ёлки, как можно, не зная ещё языка, лезть в ООП и MVC? Надо сначала изучить синтаксис, основные понятия.
     
  5. semjaza

    semjaza Новичок

    С нами с:
    22 окт 2013
    Сообщения:
    40
    Симпатии:
    0
    - это роут прописанный в конфиге(обращение к контроллеру по умолчанию)-
    Код (Text):
    1. $route['default_controller'] = "pages/page/stat1";
    основные понятия я допустим изучу... далее как мне их применить? чтобы что-то применять нужно понимать как это работает на практике...или я не прав? сухая теория - не совсем то) это как учиться вождению по книге) не правилам по которым необходимо водить))а самому вождению))
     
  6. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    Проблема в том, что ты начал учиться водить сразу с фуры, а на велосипеде ездить не умеешь (
     
  7. semjaza

    semjaza Новичок

    С нами с:
    22 окт 2013
    Сообщения:
    40
    Симпатии:
    0
    и кстати всеми любимый фреймворк symfony написан по сути человеком, который вообще не изучал пхп4 и теорию , а начал именно с ООП...и это помогло ему написать всё чисто и структурировано ...
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Приятно, когда такие простые вещи, как "определи", кажутся человеку столь невероятными, что он даже злится. Чую себя невероятным умником.
     
  9. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    я не люблю никакие фреймворки...все пишу сам на чистом пхп
     
  10. semjaza

    semjaza Новичок

    С нами с:
    22 окт 2013
    Сообщения:
    40
    Симпатии:
    0
    Вот давай представим-я научился ездить на велосипеде и даже правила по которым на нём нужно ездить тоже знаю, как мне это поможет в обучении вождения фуры???? принцип совсем разный...

    Добавлено спустя 1 минуту 8 секунд:
    изобретение велосипеда в 21 веке - это просто чудо))несомненно Вы настоящий умник)
     
  11. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    после велосипеда, ты сядешь на мопед...потом на мотоцикл, легковая машина, грузовая машина И ТОЛЬКО ПОТОМ фура
     
  12. semjaza

    semjaza Новичок

    С нами с:
    22 окт 2013
    Сообщения:
    40
    Симпатии:
    0
    а если мне не нужно учиться водить мопед, чтоб обучиться вождению фуры и это действительно так, то что мне предложите?

    Добавлено спустя 1 минуту 8 секунд:
    http://snipcode.ru/ твой сайт?
     
  13. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    c чего ты взял что я буду тебе что то предлагать??? Делай как хочешь, мне срать 3 кучи, тебе говорят что ты в кабину жопой вперед хочешь залезть...

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

    semjaza Новичок

    С нами с:
    22 окт 2013
    Сообщения:
    40
    Симпатии:
    0
    Причём тут жопа,срать и кучи не пойму...вроде адекватный человек...я тебе объясняю что писал в процедурном стиле...основы знаю...как теперь применить вопрос...
     
  15. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    не смеши
     
  16. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Чтоб программировать нормально на фреймворке, надо (по опыту) быть способным прочитать код этого фреймворка, понять, как оно работает изнутри. Иначе бесполезно. Вот если бы мне дали сопровождать этот код, то я бы выяснил, в каком именно месте фреймворк вызывает (у меня, кстати, был опыт сопровождения/дополнения кода на фреймворах, которые я не знаю). Причём здесь php4? Я думаю, разработчик symfony всё-таки программировать умел. Хотя мне этот фреймворк не очень.
     
  17. semjaza

    semjaza Новичок

    С нами с:
    22 окт 2013
    Сообщения:
    40
    Симпатии:
    0
    Содержательно до ужаса... вобщем программируй на чистом пхп и дальше....всё что можно тебе пожелать))
    и да- "Не смеши" меня...
     
  18. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    По поводу как связано процедурное программирование и ООП. Да, принцип проектирования разный. Но, физически методы классов - это те же функции, просто получающие дополнительно скрытый параметр $this (недаром первоначально код C++ транслировался в процедурный C). PHP в этом не исключение. Если вы спрашиваете, как инициализируется $title, являющийся параметром, то это недостаток понимания именно функций.
     
  19. semjaza

    semjaza Новичок

    С нами с:
    22 окт 2013
    Сообщения:
    40
    Симпатии:
    0
    Разработчик symfony джавист)начинал с него)
    почитаю...поищу...спс
     
  20. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Судя по роуту
    Код (Text):
    1. $route['default_controller'] = "pages/page/stat1";
    $title - это последняя часть, stat1. Не работал, если честно, с CodeIgniter, но много работаю с его форком Kohana (правда, придётся на что-то переходить, он что-то перестал развиваться).
     
  21. semjaza

    semjaza Новичок

    С нами с:
    22 окт 2013
    Сообщения:
    40
    Симпатии:
    0
    разобрался...спасибо за ответ) Codeigniter 2.1 уже есть...вроде обещали не останавливаться) нравиться что он прост в понимании)
     
  22. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    какого нафик велосипеда. Ты сказал что у тебя переменная не определена. Я сказал определи. Ты психанул. Хз вообще как за твоим потоком мыслей уследить. У тебя видимо и самого это не выходит.
     
  23. semjaza

    semjaza Новичок

    С нами с:
    22 окт 2013
    Сообщения:
    40
    Симпатии:
    0
    да я немного сумасшедший)ты знаком с ооп в целом?)
     
  24. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
  25. irobot

    irobot Новичок

    С нами с:
    15 ноя 2014
    Сообщения:
    88
    Симпатии:
    0
    Да изучите сначала ооп, а потом уже и разбирайте фреймворки. Ну как можно разбирать то, что непонимание. (М. Зандстра PHP. Объекты, шаблоны и методики программирования)