Работа на чистом PHP /

Подключаем шаблонизатор Fenom

Знаю-знаю, мы собирались работать на чистом PHP, безо всяких фреймворков, но о шаблонизаторах речи не было!

Если серьёзно, то я по всякому прикинул, как заставить наш простенький сайт выводить HTML, и не вписывать его в PHP, а хранить в шаблонах.

Варианта ровно два: написать собственный жуткий глючный велосипед, который будет читать шаблон и заменять в нём плейсхолдеры на значения через str_replace(), или подключить нормальный шаблонизатор.

Так как мы все тут от MODX люди не очень далёкие, так почему бы не освоить работу с Fenom, который в нём с некоторых пор доступен? Думаю, возражений не будет, так что поехали!

Читать далее
Работа на чистом PHP /

Базовый контроллер и его методы

На прошлом занятии мы набросали основу нашего ядра, а сегодня нам предстоит воспользоваться преимуществами ООП и написать базовый контроллер, от которого будут наследоваться все остальные.

Зачем это нужно? Да, хотя бы, затем, чтобы не прописывать одни и те же методы в каждом контроллере. Написать один общий, а потом менять только нужные части. Это гораздо правильнее и удобнее.

К тому же, чем меньше дублируется кода, тем больше гарантий, что этот код работает всегда одинаково. Отсюда следует простой вывод, что дублирования кода быть вообще не должно.

Если вы в двух местах пишете один и тот же метод — у вас проблема с логикой работы приложения.

Итак, приступаем.

Читать далее
Работа на чистом PHP /

Основы ООП и контроллеры страниц

На этом занятии мы начнём писать ядро нашего сайта и заложим основу для работы контроллеров страниц.

Ядро - это один основной класс, с общими для всех контроллеров методами. А контроллеры - это другие php классы, которые будут отвечать за функционал какого-то раздела сайта.

Контроллеры будут лежать в специальной директории, откуда их запустит основной класс. Запрос приходит на index.php, тот инициализирует основной класс и просит обработать запрос. Ядро определяет, к какому разделу сайта обращён запрос и загружает его контроллер, передавая ему все полномочия на генерацию ответа.

Дальше контроллер проверит параметры запроса и выдаст результат, или редирект на страницу с ошибкой. Позже мы научим наши контроллеры обрабатывать запросы и выдавать ответы через Ajax.

Логическая цепочка выходит такая: index.php -> Сore -> Controllers_Page.

Читать далее
Работа на чистом PHP /

Вводное занятие

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

На этот раз мы познакомимся с работой на чистом PHP, без уютной админки и набора готовых инструментов. Мы напишем свой собственный мини-движок, который будет уметь разбирать запросы от пользователей и выводить страницы сайта. Конечно, мы будет стараться писать его красиво и логично, чтобы наш движок можно было расширять.

Хочу предупредить вас сразу, что я не считаю себя экспертом в программировании. По образованию я врач-эпидемиолог, и программирование в медицинской академии не преподавали. Всё, что я знаю, я освоил сам по книжкам и «методом тыка».

Люди, уже программирующие на PHP, из этих уроков ничего нового не вынесут (ну, может что-то и подсмотрят любопытное, но не факт), так что курс будет интересен исключительно новичкам. Я рассчитываю на то, что вы знаете только базовые функции PHP и умеете писать простейший спагетти-код, то есть PHP вперемешку с HTML и выводом через echo().

Тот мини-движок, который мы напишем, можно будет использовать в реальной работе, но он явно не будет лучшим решением среди всех готовых. Его задача — проиллюстрировать курс, а не написать мега-инструмент для работы.

Первое занятие бесплатное, а дальше будет нужно купить доступ. Всё уже открыто бесплатно.

Читать далее
Личный блог /

Про работу

На данный момент неожиданно выполнил все запланированные работы и появилось свободное время.

Честно говоря, с непривычки, даже какой-то дискомфорт. Пару дней поиграл в Destiny, посмотрел кино и уже не знаю, чем заняться.

Может, организовать новые курсы (на какую тему)? Или написать какое-то новое дополнение (переписать старое), используя Fenom?

У кого есть идеи? Предлагайте!

Личный блог /

mxManager отправлен в AppStore

Вот, вроде бы, и закончилась эпопея длинною в полгода — разработка мобильного приложения mxManager для iOS.

Для сравнения, на это дело я потратил больше времени, чем на первые версии miniShop2 и Tickets вместе взятые.

Были исправлены все недоработки после тестирования бета-версии, ни одной ошибки заявлено не было. Последний штрих — экран блокировки, который защищает пароли ваших сайтов.

Приложение, в итоге, бесплатное. Но для возможности работы с несколькими сайтами вам придётся его разблокировать за 599 279 рублей. Из них лично мне пойдёт только 195, потому что комиссия Apple составляет 30%.

Читать далее
Личный блог /

Работа с ресурсами в mxManager

После четырёх месяцев упорной работы, весь базовый функционал моего приложения, который я запланировал, готов. Это:

  1. Работа с ресурсами, с базовой поддержкой ТВ и CRC.

  2. Работа со всеми элементами: шаблоны, чанки, сниппеты, плагины, категории.

  3. Лог событий сайта

  4. Журнал ошибок

  5. Очистка кэша

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

Первое видео — настройки соединения и структура сайта.

Второе видео — работа с элементами

Третье видео — работа с ресурсами:

Читать далее
Личный блог /

Wyrmwood, дорога мертвецов

Довольно давно стараюсь смотреть кино на языке оригинала с русскими субтитрами. От этого сплошная польза:

  • Слышишь игру оригинальных актёров, а не мастеров дубляжа.

  • Можешь смотреть фильмы сразу после западных релизов.

  • Учишься быстрее читать и соображать.

  • И даже начинаешь понимать английский на слух, понемногу.

Единственный минус — далеко не всегда есть русские субтитры, поэтому я начал понемногу смотреть английские. И после нескольких сеансов пришла идея — а почему бы не пробовать и самому что-то перевести?

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

Итак, встречайте: "Wyrmwood, дорога мертвецов".

Любопытный фильм про зомби в Австралии, который похож одновременно и на «Безумного Макса», и на «Зловещих мертвецов». Много юмора, стрельбы и километры прекрасного асфальта.

Бюджет копеечный, но снято энтузиастами искренне, от души.

Читать далее
Личный блог /

Анонс разработки mxManager

Как известно, админка MODX не очень подходит для работы на мобильных устройствах. Там мало места, нет правого клика, да и грузить библиотек ExtJS нужно много. В принципе, кое что с сайтом можно сделать, но я собрался написать своё приложение для более комфортной работы.

Принцип такой: вы устанавливаете на сайт компонент из репозитория MODX, а потом подключаетесь к нему из приложения с iPhone. Авторизованному пользователю доступны примерно те же действия, что и через админку, но всё это работает гораздо быстрее и удобнее, чем через браузер.

Приложение пока сырое, всё еще может много раз измениться, но вот что у меня есть показать сегодня:

Сейчас готовы все выборки разделов и простейшие операции. Самое сложное — работа с разными типами ресурсов и куча вариантов форм, еще впереди.

Читать далее
Личный блог /

Обновление

Предварительно забекапив, обновил bezumkin.ru до MODX 2.3.2-pl. Заодно обновил и все установленные пакеты: Office, mSearch2, miniShop2, AjaxManager и т.д.

Если обнаружите какие-то ошибки — пишите в комментарии, пожалуйста. Какое-то время погоняем этот сайт и, если всё будет хорошо, то обновлю и modx.pro.

Читать далее
Личный блог /

День рождения 32

Сегодня мне стукнуло 32 года. За прошедший год:

  • Создан и запущен хостинг Simple Dream, для которого немного освоил язык программирования Python.

  • Создан и запущен сайт нашего сообщества modx.pro, куда переехала большая часть контента с bezumkin.ru. По моим субъективным прикидкам, это сейчас самый посещаемый ресурс по MODX в СНГ.

  • Придуман и запущен сайт открытой документации docs.modx.pro, куда любой желающий может прислать информацию через GitHub. В отличии от аналогов, работает также на MODX.

  • Познакомился с «ленивым» отпуском, путём поездки в Турцию, поплавал вдоволь. В целом, неплохо, но гулять по Франкфурту понравилось больше.

  • Обновил массу своих дополнений для MODX 2.3.

  • Начал сотрудничать с ребятами с kino-govno.com и kritikanstvo.ru. На данный момент практически полностью переписал админку Критиканства, есть планы и по работе с КГ.

  • Осуществил давнюю мечту — написать что-то не для web. Для этого был немного освоен Objective-C, процедура регистрации разработчиков в Apple и оформление приложений в магазине. В результате выпущено Критиканство для iOS.

Сейчас стараюсь отойти от активной разработки на PHP в сторону работы с iOS. Просто потому, что одно уже хорошо изучено и немного надоело, а другое — тёмный, интересный лес.

Читать далее
Личный блог /

Про смысл жизни

Иногда так достанут вопросами, что начинаю думать — нафига мне всё это надо? Можно же молча клипать 100500 одинаковых магазинов и зарабатывать кучу денег, безо всяких заморочек.

Не писать готовые дополнения, вопросами по которым потом высверливают мозг, не делиться никакими наработками, потому что в комментариях обязательно у кого-то что-то не получится как надо.

А потом нахожу в сети вот такую тему на форуме Joomla:

Хочу поделиться информацией, которую открыл для себя не давно.

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

Зачем это надо?

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

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

  3. Мы получаем базовые знания администрирования linux, что не когда не будет лишним.

  4. С этими знаниями открывается возможность настроить свой собственный VPS Hosting, то есть перейти на новый уровень, прокачать персонажа так сказать)))

bezumkin.ru/sections/hosting/225/

Читать далее
bezumkin
Василий Наумкин
01.03.2024 04:30
С PWA пока не разбирался, мне кажется это не особо популярная штука. Если надо просто иконки добавит...
bezumkin
Василий Наумкин
22.02.2024 09:23
На здоровье! Держи лайк =)
inetlover
Александр Наумов
27.01.2024 00:06
Василий, спасибо! Извини, тупанул.
bezumkin
Василий Наумкин
22.01.2024 04:43
Давай-давай!
bezumkin
Василий Наумкин
24.12.2023 11:26
Спасибо!
bezumkin
Василий Наумкин
27.11.2023 02:43
Ура!
bezumkin
Василий Наумкин
25.11.2023 08:30
Vesp тянет 2 зависимости: vesp-frontent для фронта и vesp-core для бэкенда. Их можно обновлять, но э...
bezumkin
Василий Наумкин
22.11.2023 08:09
Отлично, поздравляю!
bezumkin
Василий Наумкин
04.11.2023 10:31
На здоровье!
bezumkin
Василий Наумкин
30.10.2023 01:21
Спасибо!