3 / 3 / 3
Регистрация: 03.01.2012
Сообщений: 146
|
|
1 | |
Не знаю с чего начать в ООП27.05.2012, 19:06. Показов 8167. Ответов 55
Метки нет (Все метки)
Народ, вообщем дело такое, вроде бы прочел не одну книгу по ооп на php теоритически вроде все знаю, но не знаю как начать писать сайт. МОгли бы вы выложить пример не большого сайта на ооп. Вопрос адресован профи)Очень жду и надеюсь на Вас.
0
|
27.05.2012, 19:06 | |
Ответы с готовыми решениями:
55
Не знаю с чего начать Не знаю с чего начать:( Не знаю с чего начать Не знаю с чего начать |
14 / 14 / 7
Регистрация: 31.03.2011
Сообщений: 118
|
|
18.06.2012, 11:06 | 41 |
Василий Макогон, ну я просто по быстрому попробовал сделать... да, добавить экранизацию спец символов, проверять кол-во "?" и записей в массиве... а Вы делаете свои классы для работы с БД? или пользуетесь готовыми? И есть ли смысл писать самому?
0
|
26 / 26 / 1
Регистрация: 30.09.2011
Сообщений: 196
|
|
18.06.2012, 13:19 | 42 |
Lawlietb32,
если так делать то надо в массив заводить переменную со строчными ключами где ключ будет соответствоваать имени поля тоглда геренить уже не только values а и список полей. так делает например adodb, только там еще выгребается список полей таблицы и проверяется есть ли в ней такое поле .
1
|
18.06.2012, 18:30 | 43 |
Сайт на ООП смешно звучит.
Значит что бы делал я в такой ситуации. 1. Поставил бы задачу (сайт визитка,магазин или еще что) г-н crautcher правильно сказал архитектура зависит от приложения поэтому ставьте задачу. 2. Делите её на блоки модули Буду брать визитку как наиболее простую сущность. Сайт "Визитка" состоит из двух частей фронт енд и бак енд. Обе эти части так или иначе работают с хранилищем данных с БД. Значит нужны модуль который работает с такими объектами как страница, и хранит их как записи а БД. Далее на сайт заходят пользователи значит нужен модуль который работает с объектами пользователь которые тоже хранятся как записи. Отсюда делаем вывод что нам нужен еще один модуль который работает с БД не взирая на тип объектов. От него будут наследоваться или компоноваться модули пользователей и страниц. Надо как то отделать страницы друг от друга. Переходить с одной на другую Нужен модуль роутера. Далее начинаем писать бак енд т.е. ту сторону которая не видна пользователю. формируем таблицы для хранения данных. Не забываем о масштабировании. И пишем эти модули используя знания ООП.
1
|
14 / 14 / 7
Регистрация: 31.03.2011
Сообщений: 118
|
|
18.06.2012, 22:28 | 44 |
basili4, а можете по подробней чуток остановиться на модулях? какие методы и свойства должны они хранить?
p.s. я написал пару сайтков (не коммерческие) и пользовался исключительно процедурным подходом... очень трудоемко получается (особенно если что-то хочешь изменить, или добавляются поля у таблиц... вообще ужас...) и я так понимаю с ООП такие проблемы сводятся к минимуму... Вот когда писал классы для каких-нибудь шашек или другие программы для windows (на C++), то таких проблем у меня не возникало (какие методы и классы использовать) там я просто начинаю писать и в процессе додумываю какие свойства/методы ещё нужны, а какие стоит удалить... а тут просто даже с чего начать не знаю)
0
|
18.06.2012, 22:55 | 45 |
Давайте один рассмотрим например модуль который будет работатать с БД.
Создадим класс БД он будет оболочкой т.е. мы реализуем шаблон протитип. Применять этот клас будем так Используем еще один паттерн сингелтон. $db= new Db(); $db->seletc('field')->where('')->limit(); Реализуем методы. select(array $filelds) insert(array $filelds) value(array $values) update(array $filelds) where(mixed $filelds,$param=array()) // Условия соединенные and c методом where сложная ситуация если 1 значение массив то запрос связывается AND и 2 параметр игнорируется если строка то в запрос в ставляются строка и параметры вида aram заменяются из 2 параметра whereOR(array $filelds) // Условия соедененые OR limit join delete truncate execute executeSQL В общем все
1
|
14 / 14 / 7
Регистрация: 31.03.2011
Сообщений: 118
|
|
18.06.2012, 23:44 | 46 |
А мне тут выше советовали не использовать методы типа select, insert и т.д. лучше типо одним query обойтись. Я так понимаю каждый пишет как ему удобней) и кол-во реализаций одного модуля может быть огромное кол-во = )
0
|
18.06.2012, 23:54 | 47 |
можно и одним query тогда вы привязываетесь к конкретной СУБД. т.е. синтаксис скажем MSSQL и Mysql отличается.
А используя методы select и тд. Всю реализацию мы скрываем в коде класса, сглаживая различия синтаксиса.
0
|
270 / 226 / 11
Регистрация: 20.04.2012
Сообщений: 817
|
|
19.06.2012, 09:45 | 48 |
он советует тебе строить билдер sql запросов. я же говорл тебе про обертку СУБД. посмотри API PDO и mysqli - там не методов типа insert
0
|
14 / 14 / 7
Регистрация: 31.03.2011
Сообщений: 118
|
|
19.06.2012, 11:19 | 49 |
При моём сегодняшнем понимании это практически одно и тоже... Вот, например, решили написать класс стека на C++. Что надо? Методы push, pop, getFirst, getLast ну и так далее... Так почему бы так не сделать при работе с СУБД на PHP? Ну Бог с ними СУБД... лучше подскажите какие методы должен содержать модуль "страница"?
0
|
26 / 26 / 1
Регистрация: 30.09.2011
Сообщений: 196
|
|
19.06.2012, 11:36 | 50 |
Это просто программа. как напишешь так и будет. Ты когда писал на С++ у кого спрашивал какие должны быть методы? Точно так же и здесь. Разберись что должна делатьт страница и поймешь какие методы тебе нужны и нужны ли вообще- общих рецептов тут нет.
1
|
14 / 14 / 7
Регистрация: 31.03.2011
Сообщений: 118
|
|
19.06.2012, 11:39 | 51 |
Да всё таки видимо надо просто начать писать... а дальше уже сам начнешь вникать))
0
|
26 / 26 / 1
Регистрация: 30.09.2011
Сообщений: 196
|
|
19.06.2012, 13:07 | 53 |
с этого и надо всегда начинать вместо разбиратся шо за неведомая конструкция "модуль страницы"
1
|
14 / 14 / 7
Регистрация: 31.03.2011
Сообщений: 118
|
|
19.06.2012, 13:08 | 54 |
0
|
Tflex
|
|
22.03.2013, 12:05 | 55 |
Доброе время суток!
почитал ответы Умников и улыбнулся это как с детской задачкой в какую сторону едет автобус. Человек ясно попросил выложить шаблон ( козу, рыбу - если еще кто помнит студенческую аббревиатуру). и какая к черту разница какой это сайт ( визитка, магазин или еще что то.) интересует ведь внутренняя структура папок, и размещение файлов ( тут вопрос больше к профи, ведь если изобретать велосипед то лучше правильно это делать, чтобы не переучиваться). |
3 / 3 / 0
Регистрация: 26.06.2012
Сообщений: 63
|
|
08.05.2015, 08:27 | 56 |
Если еще актуальна тема то вот ссылка: http://habrahabr.ru/post/150267/
0
|
08.05.2015, 08:27 | |
08.05.2015, 08:27 | |
Помогаю со студенческими работами здесь
56
Не знаю с чего начать Не знаю с чего начать писать не знаю с чего начать проект сайт музей - не знаю с чего начать Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства
Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
|
Что такое NullReferenceException и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
|
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
|
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
|
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
|
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
|
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее:
На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
|
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript
В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
|
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
|
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален
В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
|
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
|
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели
В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
|