Работа на чистом 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/

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

Разработка для iOS

В январе 2014 я решил, что разработка дополнений для MODX Revolution это, конечно, круто, но нужно попробовать и что-то другое. Мобильные устройства меня интересовали всегда, поэтому решил поучиться на разработчика для iOS.

Почему именно iOS, а не Android? Да просто потому, что яблочные устройства давно заменили все остальные устройства у меня дома — уж больно хороши. AppStore я считаю образцовым магазином, а приложения в нём меня постоянно восхищают.

В общем, купил пару книг, оплатил доступ в программу разработчиков ($100 в год) и… забросил это дело на 9 месяцев, во время которых сделал хостинг, пару сайтов, сгонял в отпуск и обновил почти все свои дополнения для MODX 2.3.

И вот только совсем недавно я смог найти 2 спокойных недели и вдумчиво почитать книжки.

Результатом стало моё первое простенькое приложение для сайта Критиканство.

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

Там нет ничего такого, чего бы вы не нашли на www.kritikanstvo.ru, но оно может быть полезно для быстрого просмотра оценок фильма перед походом в кинотеатр.

В первую очередь я старался изучить полезные для себя технологии. Дизайна, понятно, нет — его просто некому рисовать, поэтому всё оформлено стандартными элементами UIKit.

Итак, что умеет это приложение?

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

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

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

Даже сходил в магазин, поискал этот хамон — и нашел! Лежит кусок мяса за 8300 рублей, по виду, не больше килограмма. Это как, нормально?

Кто у нас в Кемерово покупал этот хамон? Кто без него будет страдать? Есть мнение, что только те люди, которым незападло за ним слетать в Испанию, лично.

Но речь не про эти странные товары, а про еду вообще. Вот лично я к 30 годам отожрался до 116 кг, при росте 185 см. При подъеме на третий этаж — отдышка, шнурки завязывать тяжело — пузо мешает. Если бы на наш город напали зомби — меня бы сожрали первым, потому что бегать я разучился совсем.

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

Читать далее
bezumkin
Василий Наумкин
09.04.2024 01:45
Ошибка 500 Это не похоже на ошибку Nginx, это скорее всего ошибка PHP - надо смотреть его логи. Во...
futuris
Futuris
04.04.2024 05:56
Я просто немного запутался. Когда в абзаце "Vesp/Core" ты пишешь про "новый trait Fil...
bezumkin
Василий Наумкин
20.03.2024 18:21
Volledig!
Андрей
14.03.2024 10:47
Василий! Как всегда очень круто! Моё почтение!
russelgal
russel gal
09.03.2024 17:17
А этот стоило написать хотя бы затем, чтобы получить комментарий от юзера, который ничего не писал ...
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 для бэкенда. Их можно обновлять, но э...