помогите освоить МVС

pehser

Новичок
c mvc тока начал знакомится так что не пинайте
сделал оснвную - родительскую модель при инициализации происходит подключение к базе
PHP:
namespace vendor;
use vendor\lib\MysqliDb;
class Model
{
   protected $db;
   public function __construct()
   {
        $this->db = new MysqliDb (DB_HOST, DB_USER, DB_PASS, DB_NAME);
   }
}
и дальше в моделях приложения

PHP:
namespace front\models;
use \vendor\Model;
class Product extends Model
{
   public function pricexls(){
      $rez = $this->db->get('products');
      var_dump($rez);
    }
}
и вроде работает но понадобилось мне в использовать две разные модели
"Корзина" и "Товары"

и тут я обноружил что в таком случаии подключение к базе происходит повторно; подскажите пожулусто как правильно предать в модели обект для работы с БД
 

AllReady

Новичок
и тут я обноружил что в таком случаии подключение к базе происходит повторно; подскажите пожулусто как правильно предать в модели обект для работы с БД
Обычно чтобы этого не происходило (повторное подключение) используют шаблон проектирования singleton. Я честно сказать не знаю, даже как правильно проектировать сайт на mvc, так что подождем опытных людей...
 
А может для бд, сделать static обёртку и тогда не чего передавать не надо будет. Ещё как вариант статистический регистр (Доступный везьде), передаёшь в него свои обьекты и пользуешься.
PHP:
<?php
Class Registry
{
  private static $registry = array();

  static function get($name)
  {
    return static::$registry[$name];
  }

  static function set($name, $value)
  {
    return static::$registry[$name] = $value;
  }

  static function remove($name)
  {
    unset(static::$registry[$name])
  }
}
 

AnrDaemon

Продвинутый новичок
Курс может и хороший, но у меня мозги из ушей полезли после 10 минут прослушивания … И дело даже не в убогой дорожке, после нормализации слушать можно..
 

fixxxer

К.О.
Партнер клуба
@pehser пока это небольшой учебный проект - используй для базы singleton, ничего страшного. А вообще лучше возьми какой-нибудь современный фреймворк.

У тебя гораздо более существенная проблема. Насколько я вижу, у тебя не модели, а функции, которые возвращают массивы из базы. Это не имеет ничего общего ни с понятием модели, ни с объектно-ориентированным программированием - это просто функции вида product_get_price(), зачем-то оформленные в виде классов. Посмотри, как этот момент устроен в любом современном фреймворке.

Видео курсы не бывают хорошими, книжки читать надо
Видеокурсы не бывают. Screencasts - иногда бывают неплохие. Книжки читать, конечно же, надо.
 

AllReady

Новичок
Видео курсы не бывают хорошими, книжки читать надо
Аргументы ? Не надо повторять слова людей, никто не принёс стоящих аргументов по этому поводу. Как и курсы, так и книги, написать/снять можно все что угодно.
 

Sufir

Я не волшебник, я только учусь
Аргументы не требуются, это выяснено эмпирически и на данный момент не опровергнуто. Можно снять и хорошие... но пока, почему-то, никто не снял.
 
За 5 уроков по 30 минут, не выучишь даже самую простую книгу "Для чайников", и аргументы тут даже не требуются, это факт. Эти видео сняты такими же людьми что ты, открыл блокнот и вперёд по видео курсам. Хочу ещё напомнить что интернет это большая помойка, а в особенности ютуб и за актуальностью видео курсов там не кто не следит.
 

AllReady

Новичок
За 5 уроков по 30 минут, не выучишь даже самую простую книгу "Для чайников"
За 2,5 часа, прочитав книгу, ты добьешься большего ? В интернете тоже немало книг, написанные русскими "программистами", их так же не воспринимают всерьез (есть рееедкие исплючения). Тут дело не в том, как доносят материал. Рекомендованная литература для новичков и не очень тема с форума, в ней только одна книга написанная нашим человеком. Остальные все, либо переводы, либо оригинал. Тот же самый livecoding.tv , не курсы, но все же.
 
За 2,5 часа, прочитав книгу, ты добьешься большего ?
Я тоже книжки листать умею, а чтением это не назовёшь. Надо вникать в книжку, понять автора, понять что он хотел донести. Я лично книги читаю как минимум неделю, после работы по пару часиков, и обдумываю что прочитал. Ты вспомни как ты в школе учился, тебя учили 2,5 часа?
В интернете тоже немало книг, написанные русскими "программистами", их так же не воспринимают всерьез (есть рееедкие исплючения)
:confused: Что за бред, не там книги ищешь значит, поинтересуйся у форумчан что почитать, если в гугле нет для тебя не чего хорошего.
Остальные все, либо переводы, либо оригинал. Тот же самый livecoding.tv , не курсы, но все же.
Я проблем не вижу, учи английский, читай переводы, переводи через гугл. В конце концов тебе когда нибудь прейдётся читать документацию на иностранном, так как русской литературы единицы.
 

AnrDaemon

Продвинутый новичок
Ты вспомни как ты в школе учился, тебя учили 2,5 часа?
Да, если взять какую-то сравнимую тему, то всех лекций по каждой отдельной теме наберётся дай Бог на 2,5 часа.
Остальное - это практические работы, проверки знаний, повторение пройденного.
 
Да, если взять какую-то сравнимую тему, то всех лекций по каждой отдельной теме наберётся дай Бог на 2,5 часа.
Остальное - это практические работы, проверки знаний, повторение пройденного.
Учебник 10 класса открой, четверть книжки повторение. И без повторения хрен ты что то запомнишь. Или ты хочешь сказать тебе в жизни не чего не надо кроме таблицы умножения и алфавита? А как же разобраться в прочитаном не надо, или ты в школе только тему по тригонометрии какую нибудь прочитал и уже умеешь решать? А как же зазубривание формул?
 

Lionishy

Новичок
Более высокая оценка книг, особенно вышедших именно в виде печатных изданий, в сравнении с различными видеоуроками и скринкастами объясняется, как мне кажется, тем, что подготовка книги значительно более трудоёмкий процесс и, как следствие, значительное число неудачных, бракованных книг просто не дойдёт до состояния, в котором их можно было бы опубликовать. Подготовить несколько слайдов и наговорить текст в микрофон сегодня крайне просто, вне зависимости от знаний автора и даже личной оценки значимости представляемого материала. Устная речь менее строгая, рассчитана на возможность непосредственного эмоционального контакта со слушателем. Письменная речь требует совершенно иных, более интересных, методов воздействия на собеседника. Если человек потратил силы на то, чтобы изложить свои мысли достаточно чётко, то, по крайней мере, с его позиции, материал не бесполезен, с ним, вероятно, стоит ознакомиться, хотя бы и по диагонали.

С другой стороны, несомненно, есть ситуации благоприятствующие именно различным видеоурокам. Я бы выделил три направления.

Во-первых, это возможность услышать материал в преломлении мыслей третьего человека. Есть видение автора, и есть субъективные суждения читателя. Для того, чтобы создать такой текст, который отражал бы мысли автора в ясном для читателя виде, нужно не только хорошо понимать что пишешь, но и обладать определёнными навыками письменной речи, не последнюю роль здесь играет и наличие писательского таланта. Не всякий, точнее чуть более, чем никакой, технический специалист подобными навыками не обладает. По этой причине не так бесполезно узнать, как авторский текст понимают другие. Это поможет разобраться в первоисточнике лучше.

Во-вторых, видеоуроки, несомненно, более полезны, если речь идёт о рецептах. Приготовить блюдо проще, когда видишь, как это происходит от яиц и муки до духовки, чем читать витиеватые обороты, где сложным, тяжёлым языком объясняются вещи, которые просто показать. Делай вот так! Сыпь, куда пальцем показываю! Один из самых действенных методов обучения: делай как я. Такие уроки-рецепты обладают высокой ценностью, если это действительно рецепты вкусных блюд, а не булок из золы. Хорошие рецепты, обыкновенно, отличает хорошая книга, лежащая в основе, или опыт повара. Часто новичкам полезны мастер-классы: без всяких секретов, о существовании которых наивно полагают неопытные подмастерья, создаются качественные продукты.

Третьей причиной я бы поставил интерактивность. Проще подготовить небольшой видеоурок, меньше времени придётся потратить на проработку материала. Значит больше времени останется на общение с читателем, слушателем. Неудачное изложение может быть успешно скомпенсировано возможностью более лёгкого общения с автором, чем в случае печатного издания. Современные средства обмена информацией поощряют подобные подходы к дистанционному обучению.
 
Во-первых, это возможность услышать материал в преломлении мыслей третьего человека.
В книжках тоже авторы много своих мыслей оставляют. Не аргумент.

Во-вторых, видеоуроки, несомненно, более полезны, если речь идёт о рецептах.
С этим согласен, но речь идёт о программирование.

Третьей причиной я бы поставил интерактивность. Проще подготовить небольшой видеоурок, меньше времени придётся потратить на проработку материала
Это и является основным минусом, любой говнокодер может за 5 минут снять видео урок, а потом будет 5-50 говнокодеров благодаря этому уроку. И хочу ещё отметить уважаемые люди не снимают видео уроков, а снимают всякие типо Попова (По гугли).
 

AmdY

Пью пиво
Команда форума
Любое обучение предполагает что ты будешь пользоваться более чем одним источником, иначе плевать это видео или толстенная книга.
Видео очень хорошо подходит чтобы дошлифовывать теорию, там как правило пишут код, чего очень мало в печатных изданиях. Есть неплохое на ларакасте, дома у меня утуб фоном на телеке работает, подтягивается и английский и технологии.
 
Сверху