Итак... Переходим к конечному пункту создания фотогалереи версии 0.1. Эта статья будет отражать создание frontend'a, т.е. того интерфейса, что видит пользователь, который посетил фотогалерею. Для решения задач этой главы, чтобы не изобретать велосипед мы будем использовать следующие продукты: jQuery (javascript фреймворк), FancyBox ("красивость" для отображения фотографий).
Продолжаем создание нашей фотогалереи. Как и говорилось раньше, эту статью назовем "Скрипт фотогалереи. Том 1. Глава 2". В этой статье мы попробуем создать backend сайта (админку), где будет реализован функционал добавления категорий и фотографий в фотогалерею. Для этого нам понадобятся следующие материалы из следующих статей: Графика в PHP. Работа с библиотекой GD, Скрипт фотогалереи. Том 1. Глава 1, MVC для начинающих. Объединив все эти 3 статьи мы сможем создать тот функционал админки, который на данный момент запланирован.
Если честно, то программирую по технологии MVC только последние полгода и можно сказать, что всех тонкостей и аспектов до конца не знаю. Но сама по себе технология заслуживает особого внимания, с ее помощью код программы получается удобночитаемым, да и другие, если будут использовать Ваш код, скажут Вам спасибо.
Сам своими словами описать технологию мне сложно, поэтому возьму статью с другого сайта и выложу тут. Сама статья дана для того, что всё, что буду приводить в примерах от средних проектов, - будет именно сделано по технологии MVC (ну или другой, если найду что-то другое более интересное).
В принципе у меня уже написан код программы для статьи "Скрипт фотогалереи. Том 1. Глава 2", где я рассматриваю создание backend'а для фотогалереи и вот именно этот код и построен по технологии MVC.
Как и обещал в предыдущей статье, будем пытаться создать скрипт фотогалереи. Это опять же будет цикл статей, а вот именно эту статью назовем "Скрипт фотогалереи. Том 1. Глава 1.". Первый том будет состоять 3 глав. В первой главе рассмотрим не так много, но это нам очень поможет при создании галереи, а именно в наш класс для работы с изображениями в PHP мы добавим 2 функции: создание уменьшенной копии изображения, наложение "водяных знаков" (логотипа). Во-второй статье будем создавать backend-интерфейс (в простонародии админку) для добавления категорий фотогалереи и самих фотографий. В третьей главе мы создадим frontend-интерфейс, который будет видеть конечный пользователь нашей фотогалереи. И по прошествии трех глав у нас получится фотогалерея с начальным набором функций. Но дальше будет интереснее, так что следите за новыми статьями :)
Подвожу итоги 2-х недельного голосования "Нужно ли то, что я пишу?". Проголосовало не так много людей, но думаю тенденция и так понятна, трети проголосовавших пользотелей или не нравится что я пиши, или они хотят видеть в статьях что-то другое.
При этом ни один человек, ответивший отрицательно, не отписался на форуме, нет конструктивной критики в мой адрес и адрес статей, может конечно нечаянно ставили оценки или ставили чтобы посмотреть работает ли голосование :) но еще раз повторюсь, критики нет.
Посему решаем, что статьи нужны и нужны по крайней мере 65% посетителей сайта.
Призываю всех кому что-то непонятно писать на форуме свои вопросы.
Данная статья предназначена уже для более продвинутых программистов, т.к. на начальном уровне работа с графикой вообще не нужна, но думаю будет очень интересна и для новичков, которые поймут, что на PHP можно создать все (конечно цитата взята из языка Cи "На Си++ можно написать все что угодно", но все равно очень подходит и для PHP). В основу статьи положу создание PHP-класса работы с изображениями. Далее данный класс нам понадобится как для создания своей фотогалереи, так и апгрейда нашей гостевой книги, где мы будем делать капчу. Но обо всем по порядку... Приступим к написанию нашего класса...
В PHP существует несколько понятий переменных - это локальные, глобальные и суперглобальные. Рассмотрим в этой статье понятия локальных и глобальных переменных, в чем их различие и приведем примеры различия.
Локальная переменная - это переменная, определенная внутри подпрограммы (пользовательские функции (function)). Эти переменные доступны только внутри подпрограммы.
Глобальная переменная - это переменная, которая достуна для всей программы, включая пользовательские функции.
Вообще, по крайней мере по скрипту гостевой книгой, будет цикл статей про создание гостевой книги. Сейчас очень много идей и хочется сделать сразу все правильно, как для себя, но... Осталось столько нерассмотренных тем по PHP, что будем делать все постепенно, где-то дописывать, а где-то будем даже переписывать код. В этой статье мы просто перепишем предыдущий наш скрипт гостевой книги, который мы делали с помощью файлов для хранения данных. Далее у меня большие планы по доработке этого скрипты, начиная от проверки вводимых данных (регулярные выражения) и заканчивая MVC и AJAX.
Итак начнемсссс... Версия 0.01 нашей гостевой книги :)
Рассмотрев в прошлой статье работу с классами и объектами сейчас мы попробуем создать свой класс по работе с базой данных. Данный класс позволит нам реализовывать в наших программах почти все функции MySQL.
Мне очень инетересно мнение читателей этого сайта. Прошу проголосовать на форуме http://osv18.msk.ru/forum/topic_4 и рассказать о чем Вы хотели бы узнать еще.
Класс и объект - это базовые понятия объектно-ориентированного программирования (ООП). Объект (object) – это структурированная переменная, которая содержит всю информацию о реализуемом в программе понятии. Класс (class) – это описание таких объектов и действий, которые можно с ними выполнять.
Вы когда нибудь озадачивались, как работать с MySQL в графическом представлении? Я конечно понимаю, что командная строка мускуля - это для настоящих мужиков, но занимает очень много времени и не очень удобна. На смену штатной командной строке приходит phpMyAdmin. Конечно кроме него есть и другие скрипты и программы, но это самый распросраненный и Вы его найдете на любом хостинге.
После пары месяцев написания скриптов на PHP, программист поймет, что некоторый код программы может повторятся в скрипте несколько раз. В таком случае код становится не гибким, т.к. при изменении такого кода в одном месте, приходится менять и в других местах. На помощь нам придут функции.