• Какими знаниями должен обладать начинающий фрилансер верстальщик?

    Raa7
    @Raa7
    Отвечаю на вопросы и спрашиваю непонятное.
    Привет! Сразу скажу, не то, что без JS и т.д. ,но и без знаний PHP, MySQL ну и желательно Python, в бой можно идти, если только возвращаться не хочешь) НО если уж только брать самые простые заказы, ДУМАЮ (я думаю), можно идти с HTML, CSS, JS в кармане. Ну или брать очень сложный заказ потом GOOGLE-ить ( или любым другим способом узнать непонятные "вещи" ) и браться за дело. Так ты всё быстро выучишь!
    НАДЕЮСЬ ПОМОГ!
    Ответ написан
    Комментировать
  • Как изменить переменную count по клику на кнопку?

    Beeetle
    @Beeetle
    Вы сначала делаете рендер строк таблиц, а только потом манипулируете с переменной
    var count = 1;
    	
    	$('#btnAddEmployee').click(function() {
    	count++;
    	var userID = 'userID ' + count;
    	var passwordID = 'passwordId ' + count;
    		$('#tableEmloyeeManagement tbody').append(`<tr><td><input id="${userID}" class="border-0 bg-none" type="text" value="name user" disabled></td><td><input id="${passwordID}" class="border-0 bg-none" type="password" value="1234abcd" disabled></td><td><a id="editUserAndPassword" href="#"><i class="fas fa-edit mr-2"></i></a></td></tr>`);
    
    	})
    Ответ написан
    3 комментария
  • Нужен ли класс в этом случае? Или можно держать функцию особняком?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Это проблема упрощения.
    Реальный код трудно понять, поскольку он учитывает множество нюансов, важных в реальной жизни.
    поэтому в обучающих материалах код упрощают, так что начинает казаться что без классов будет даже проще.

    Кроме того, авторы видеокурсов в большинстве своем - неграмотные имбецилы, которые с трудом понимают код, который пишут. Кроме шуток. Пример. Вот так пишут обезьяны:
    $i = 0;
        $newsList = array();
        while($row = $result->fetch()) {
          $newsList[$i]['id'] = $row['id'];
          $newsList[$i]['title'] = $row['title'];
          $newsList[$i]['date'] = $row['date'];
          $newsList[$i]['author_name'] = $row['author_name'];
          $newsList[$i]['short_content'] = $row['short_content'];
          $i++;
        }
        return $newsList;

    Реально, макаки.
    Этот гамадрил где-то сам увидел обучающий материал из 1990-х годов прошлого века, запомнил его, и теперь лепит уже в свои "обучающие ведидео".
    при том что если бы он понимал смысл этого кода, то написал бы просто
    $newsList = array();
        while($row = $result->fetch()) {
          $newsList[] = $row;
        }
        return $newsList;

    Поскольку $row уже содержит все нужные данные и переливать их из пустого в порожнее не нужно.
    А если бы наш бабуин хотя бы раз в жизни поинтересовался инструментами, которые он использует, то написал бы и вовсе одну строчку,

    return $result->fetchAll();

    Поскольку все уже написано до нас - надо только руку протянуть и использовать готовое.

    И это я не говорю о том, что класс насковозь дырявый в плане безопасности.

    Если вернуться к теме "отдельные функции или класс", то для примера приведенного здесь класс, действительно, не нужен. Любая коллекция статических методов может быть заменена на набор функций.

    В нормальной же модели класс нужен, поскольку в ней будут использоваться переменные класса, например соединение с БД. Таким образом его можно будет передать в конструктор один раз и не писать соединение в каждом методе.
    Также в модели удобно прописать имя таблицы. Тогда множество методов можно будет унаследовать от единого прототипа. например

    abstract class Model {
        protected $table;
        protected $db;
        public function __construct($db) {
             $this->db = $db;
        }
        public function find($id) {
            $sql = "SELECT * FROM `$this->table` WHERE id=?";
            $stmt = $this->db->prepare($sql);
            $stmt->execute([$id]);
            return $stmt->fetch();
        }
    }
    class News extends Model {
            protected $table = 'news';
    }
    $news = new News($db);
    $article = $news->find($id);


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

    Если хочется нормальных обучающих материалов, рекомендую канал Дмитрия Елисеева, https://www.youtube.com/user/ElisDN/videos
    Ответ написан
  • Нужен ли класс в этом случае? Или можно держать функцию особняком?

    hack504
    @hack504
    Моделью в данном случае должна выступать ORM, а автор просто сделал жалкое подобие для наглядности (видимо в следующих уроках разжует это).
    Судя по всему тут всё для наглядности - во View эта модель не прокидывается никак, вьюшка тупо в её области видимости инклудится. Для примера ОК, можешь попутно трогать Yii2, например.
    Ответ написан
    Комментировать
  • Ошибка has exceeded the 'max_connections_per_hour'(current value: 6000). В чем причина?

    VELIK505
    @VELIK505
    Руководитель департамента profitcentr.com
    GRANT USAGE ON * . * TO 'xxxxxxxxx'@'localhost' IDENTIFIED BY 'xxxxxxxxx' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 ;
    Ответ написан
    4 комментария