• ООП в высоконагруженных проектах считается устаревшим?

    miraage
    @miraage
    Старый прогер
    Мужик дегенерат, однозначно.

    // EDIT

    Посмотрел прикрепленные исходники. Закапал святую воду в глаза.
    Выкиньте это всё, покажите ему, например, PHP: The Right Way.

    Я бы на Вашем месте уволился, незадумываясь.
    Ответ написан
    Комментировать
  • Емкостный датчик прикосновения для raspberry pi?

    Tomasina
    @Tomasina
    Инженер-разработчик
    Если паять умеешь, то можно взять контроллер сенсорной кнопки AT42QT1012-TSHR. Стоит 90 р., обвязка - кондер да тройка резисторов. Срабатывает и через 5-6 мм пластик или фанеру.
    Ответ написан
    1 комментарий
  • Как грамотно закрыть MySQLi?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Если уж создаёш классы с конструктором, используй и встроеный метод __destruct(). Он запускается при уничтожении объекта созданого конструктором, или по завершению скрипта.

    Например вот так:
    function __destruct(){   
    /* Освобождаем результаты запроса */
    		empty($this->dbresult) || $this->dbresult->close();            
    /* Иногда результатов запроса несколько освободим их тоже */
    		while ( self::$db->more_results() && self::$db->next_result() && self::$db->store_result() );
    		if ($this->connected && self::$db) { 
    /* Закрываем соединение */
    			self::$db->close();
    			self::$db=NULL;
    			$this->connected=false;
    		};
    	}
    Ответ написан
  • Как грамотно закрыть MySQLi?

    MegaMufa
    @MegaMufa
    Соединение закроется автоматически, когда отработает скрипт. В дальнейшем вам возможно еще раз понадобиться обращатся к бд. А установление соединения - довольно дорогостоящая операция.

    Если вы пишите на php и это не демон (написание которого на пыхе - сомнительное удовольствие), то об освобождении ресурсов сильно не парьтесь. Скрипт отработал - за вас все подчистят.

    Конкретно в этом случае, вынесите закрытие соединения в дестурктор. Или создайте отдельный метод close() и дергайте его.

    По поводу подхода. В данном случае действительно будет лучше писать в процедурном стиле (и в этом нет ничего плохого; ООП - не панацея). Здесь вы класс используете не по назначению. Классы нужны для разделения логики: один отвечает за соединение с бд, другой за формирование запросов, третий за формирование результатов.

    Я не хочу вас обидеть, но вы действительно не понимаете самого смысла ООП. И просто на голой теории это сложно понять. Я сам два года писал, используя ООП. И только потом понял для чего это на самом деле надо.

    Для поднятия навыка попробуйте покопаться в исходниках какого-нибудь фреймворка. Я в свое время перебрал ядро Yii. Он прост для понимания и не перегружен паттернами.

    Касательно конкретно этого случая, я уже сказал, вынесите закрытие соединения в деструктор.
    Ответ написан
    Комментировать
  • В каком направлении двигаться дальше, чтобы стать полноценным PHP разработчиком?

    fsdsdfsfdsfsdfsdfsdfsdfsd
    @fsdsdfsfdsfsdfsdfsdfsdfsd
    Unknown
    Не пользуйтесь фреймворками вообще и готовыми движками и станете успешным.

    И срать, что кому-то нужны всякие Yii и прочий хлам. Создавайте свой проект и работайте на себя.
    Ответ написан
    9 комментариев
  • Как создать личный кабинет пользователя (авторизация + регистрация уже есть)?

    aaadddminnn
    @aaadddminnn
    php it ubuntu debian
    Авторизация есть? Пишем в сесию id или логин пользователя. Потом на любой странице получаем эти данные и делаем выборку с базы данных. Получаем масив с каждой таблицы и ставим в нужные места по дизайну.
    Ответ написан
    Комментировать
  • Выбор между JS и PHP?

    @Suicide676
    didusdev.com
    Доброго времени суток!
    Буду советовать по своему опыту:

    1. Завершите изучение HTML, CSS
    2. Изучите 3 уровня PHP
    3. Изучите 2 уровня JS (после PHP это будет очень просто)
    4. Изучите основы MySQL (вы уже будете знакомы с ними с пункта 2)
    5. Идите на собеседование и узнавайте с какой CMS работает компания
    6. Изучайте CMS и работайте

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

    rutracker.org/forum/viewtopic.php?t=4620353

    PS. 5-й и 6-й пункты можно поменять местами, это зависит от вас и компании.
    Ответ написан
    2 комментария
  • Интернет через LAN OpenWRT?

    @ton1
    да, ICS называется. но надо держать включенным 1 пк.
    Ответ написан
    Комментировать
  • Какие есть аналоги Raspberry PI 2?

    @andreevpskov
    habrahabr.ru/post/170031

    еще на хабре куча статей, но надо учитывать свою квалифигацию при покупки такой железки, под малину есть 100500 примеров проектов точно, а насчет аналого лучше смотреть
    Ответ написан
    Комментировать
  • Зачем в yii2 классы и объекты для генерации html?

    MrLoki
    @MrLoki
    I will.
    Ну вы даёте, одну из толковых частей фреймворка обзываете.
    В большом и сложном проекте, как правило, есть большая и сложная логика, а большая и сложная логика — предполагает большие и сложные условия. Городить условия во view — дело неблагодарное, потому что view — только представление и ничего больше, и чем оно проще тем лучше.

    Далее по списку.
    Вы в своем примере в HTML совершили ошибку, которая будет стоить вам гибкости.
    href="/index.php?r=/client/create"
    Тут должен быть использован генератор url, но тогда код становится уже сложнее и козырнуть «простотой и понятностью» не выйдет, не так ли? Это позволяет, например на начальном этапе не париться о «красивых» URL, ссылаясь на action/controller, а ближе к концу за 1 раз настроить роутинг по всему проекту, ничего не меняя во вью.

    Попробуйте нарисовать checkbox в html. Не простой, а выбранность которого будет зависеть, от параметра модели. Я подскажу:
    <input type="checkbox" value="1" name="name" <?php if($model->selected) ?>checked <?php endif ?>>

    Уже не так красиво?
    Ещё можете нарисовать select чтоб уж совсем убедиться в необходимости Html-хелпера.

    Сейчас вы можете сказать, про вынесение генерации HTML в файлы, но я вас заверю. Во-первых это породит либо множество файлов и кучу условий (одна форма с кастомным select другая со стоковым, но с label, у третьей ещё что-то), и подключение этой кучи файлов будет выполняться дольше, а без компиляции шаблонов — постоянно дольше. Во-вторых, вы снова теряете в гибкости.

    В Yii есть проблемы, но хелпер Html — не одна из них.
    Ответ написан
    Комментировать
  • Интернет из розетки?

    Qwadrat
    @Qwadrat
    Если проведены телефоны по 8-жильному UTP, то самое простое — пустить 100 мбит Ethernet по двум парам.
    Ответ написан
    Комментировать
  • Подскажите альтернативу Dyndns и No-ip

    al1k
    @al1k
    Сижу, никого не трогаю, починяю сервера.
    3 комментария