PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (43): В начало « ... 14 15 16 17 [18] 19 20 21 22 ... » В конец

> Найдено сообщений: 644
Vinyl Отправлено: 22 Марта, 2013 - 08:34:58 • Тема: Не понимаю ООП • Форум: Объектно-ориентированное программирование

Ответов: 112
Просмотров: 35651
armancho7777777 пишет:
Всё придёт с опытом
Здравствуйте, armancho7777777. Я помню, тот же вопрос задавал здесь. Так ответы вроде Вашего жутко раздражали Радость Это я сейчас понимаю, что ответ-то верный, а тогда казалось, что ООП это тайна покрытая мраком и никто ею делиться не хочет)

igosja, у меня в арсенале два мною недописанных движка. Первый кагбэ готов, но там говнокода много, он не расширяем толком, + ещё тысяча и один недостаток. А второй просто не дописал, т.к. пропала нужда и свободное время. Когда-нибудь обязательно второй допишу.
Так вот, к чему я это. Первый я начинал писАть в далекие времена, когда Е.Попов был для меня кем-то на уровне Бьёрна Страуструпа. Но главное, как я его начал писать...

Создал файл index.php в корне, в нем написал <?php и начал по мере поступления идей в мозг, их реализовывать. В итоге получил черт-ногу-сломит архитектуру с хрен-че-найди реализацией. Оно-то работает, но когда нужно что-то изменить/доделать/переделать - капец.

А ко второму я подошел серьезнее. Сначала я начал продумывать архитектуру приложения. Я нарисовал на бумаге, что и как у меня будет работать. Схема не из сложных: несколько блоков, соединенных линиями, каждый из которых за что-то отвечает. Один - за пользователей (авторизацию|регистрацию|бан и т.д.), другой - за текущую страницу, третий - за работу модулей, четвертый - за базу данных, и т.д.. Так вот когда есть такой "план", а он должен быть, если Вы собираетесь разрабатывать что-либо более-менее серьезное, то в данном случае как минимум удобно для каждого блока нашей схемы написать класс.

Представьте себе, что Ваш сайт это предприятие. Классы - это работники. И цех - один php-файл, допустим, init.php. В нем работают объекты классов, проходит весь "процесс" работы на более высоком уровне, а все глубинные процессы описаны в самих классах. Это очень удобно. Важно понимать, что класс это не набор функций и переменных, а будущая сущность, которая что-то умеет и обладает какими-то свойствами. Опять же, преимущества становятся очевидными, когда поработаешь над чем-то более-менее крупным. А если ещё и в команде, то сразу видно разницу.

Спойлер (Отобразить)



Сейчас прочитал слова, которые хорошо описывают преимущества ООП

habrahabr пишет:
Вкусив запретного плода расширенного синтаксиса, программисты не остановились и возжелали модульности: ведь это так удобно — вызывать отдельно написанный модуль программы и не вникать в его алгоритм. Главное — это знать как он принимает на вход данные и как возвращает результат.
Vinyl Отправлено: 22 Марта, 2013 - 07:24:59 • Тема: Помогите с циклом • Форум: Вопросы новичков

Ответов: 16
Просмотров: 500
avtor.fox пишет:
Пока Вы не научитесь приводить текст ошибки, так и будете ходить вокруг да около.
+1
Vinyl Отправлено: 21 Марта, 2013 - 22:19:26 • Тема: Помогите с циклом • Форум: Вопросы новичков

Ответов: 16
Просмотров: 500
То есть, сейчас при нажатии на "редактировать" голосование не редактируется, так? Тогда мне нужен остальной код, который идет до того, что Вы выше написали + структура базы данных (имена таблиц и полей). Если выше этого кода ничего нет, значит файл инклюдится из другого места и мне нужен код из этого места, т.к. в Вашем коде отсутствует, как минимум, mysql_select_db, которая необходима перед mysql_fetch_array, а так же не объявлена $poll_name['name'].
Vinyl Отправлено: 21 Марта, 2013 - 22:06:24 • Тема: Помогите с циклом • Форум: Вопросы новичков

Ответов: 16
Просмотров: 500
А структура БД?
Vinyl Отправлено: 21 Марта, 2013 - 21:59:53 • Тема: Помогите с циклом • Форум: Вопросы новичков

Ответов: 16
Просмотров: 500
А скрипт-то Вы писали? Если да, то проблем вообще быть не должно, а если нет, то код и структуру БД в студию, тогда, возможно, Вам помогут. На данном этапе разговора я Вам даже ничего посоветовать не могу, т.к. не имею представления, как работает Ваш скрипт и как организовано хранение данных в Базе.
Vinyl Отправлено: 21 Марта, 2013 - 21:50:20 • Тема: Помогите с циклом • Форум: Вопросы новичков

Ответов: 16
Просмотров: 500
Эхх... Понятия не имею, что там у Вас за $i=0 до цикла, что за $i++ после, а также на какую кнопку Вы нажимаете, но у меня есть один добрый друг-экстрасенс. Он предположил, что у Вас есть скрипт голосования, в котором есть баг - после процесса голосования отображаются неверные результаты голосования, т.к. не учтен последний голос самого проголосовавшего.

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

Экстрасенс ошибся?Бывает. Тогда опишите проблему подробнее.
Vinyl Отправлено: 21 Марта, 2013 - 20:51:01 • Тема: Помогите с циклом • Форум: Вопросы новичков

Ответов: 16
Просмотров: 500
В затруднении
Vinyl Отправлено: 21 Марта, 2013 - 20:38:50 • Тема: Как скрыть сайт??? • Форум: Вопросы новичков

Ответов: 13
Просмотров: 401
Ehonod пишет:
особенно Винилу за код
Тоже мне код Радость

Ehonod пишет:
Коли кого посетит какая светлая идея, буду признателен если поделитесь
Уже столько умов думали над этим вопросом. Думаю, выхода тут нет. Уникальный контент воровали, воруют и будут воровать, увы.

Продолжайте трудиться над Вашим сайтом, а негодяи пусть воруют. Имхо, первоисточник все равно будет более посещаем. Главное в дизайне и юзабилити не проигрывать Подмигивание Удачи!
Vinyl Отправлено: 20 Марта, 2013 - 22:38:08 • Тема: Как скрыть сайт??? • Форум: Вопросы новичков

Ответов: 13
Просмотров: 401
vanicon пишет:
А вообще смысла в подобных защитах нет, только зря провозитесь...
Это точно. Хотите, я приду к Вам на сайт и докажу. Будете меня блокировать по ip, ua, чему угодно, а я все равно буду доступ получать вааще без труда. При том, что я не взломщик и не кулхацкер, а обычный пользователь.

Мне бы самому очень хотелось иметь в арсенале панацею от кибернегодяев, но, увы...
Vinyl Отправлено: 20 Марта, 2013 - 22:32:48 • Тема: Как скрыть сайт??? • Форум: Вопросы новичков

Ответов: 13
Просмотров: 401
Ehonod пишет:
А на эти устройства фильтр распространятся не будет?
Если только мобильный, планшет и компьютер с одного wi-fi роутера в интернеты ходят, то адрес один на всех будет. Юзер-агенты разные будут (не факт).

Ehonod пишет:
А можно ограничение на устройство вводить?
Это Вам связка IP+юзерагент нужна. Только все равно нет 100% гарантий. На мобильных устройствах, как правило (если не через вафлю), динамический IP. Представим ситуацию, что злоумышленник серфит с последней Opera Mini (как 70-80% пользователей моб.интернета). Закрывать доступ нужно будет по маске, т.к. адрес динамический. Т.к. вся подсеть принадлежит сотовому оператору, а 70-80% пользователей моб. интернета сидят с Opera Mini, из них [пусть] у половины она последняя, потеряете часть ни в чем не виновной аудитории.

Мне, если честно, более интересно, как Вы собрались злоумышленника ловить? Откуда узнаете что именно этот ip/ua Ваш клиент? Он что, Вас Ддосит, или перед кражей контента в гетах-постах подписывается?
Vinyl Отправлено: 20 Марта, 2013 - 22:07:08 • Тема: Как скрыть сайт??? • Форум: Вопросы новичков

Ответов: 13
Просмотров: 401
Ehonod пишет:
Огромное спасибо!!!

Да не за что)

Ehonod пишет:
Дело в том, что негодяи не шибко шарят в этом вопросе.

С мобильного/планшета зайдет, увидит разницу, начнет рыть, и т.д.

Ehonod пишет:
в Адронных коллайдрах я ничего не понимаю, а вот в андроидных коллаэдрах я спец)))
Радость
Vinyl Отправлено: 20 Марта, 2013 - 21:47:41 • Тема: Как скрыть сайт??? • Форум: Вопросы новичков

Ответов: 13
Просмотров: 401
1. андроидных коллаэдеров => Адронных коллайдеров.
2.
PHP:
скопировать код в буфер обмена
  1. if($_SERVER['REMOTE_ADDR'] == '95.43.164.127') //если наш злоумышленник
  2. {
  3.   define('DB_NAME','old_base'); // old_base - название старой базы
  4. }
  5. else //в противном случае
  6. {
  7.   define('DB_NAME','new_base'); // new_base - название новой базы
  8. }
  9.  
  10. mysql_select_db(DB_NAME,$link_identifier);


На практике абсолютно бесполезно.


OrmaJever пишет:
Скачать базу ip по странам/городам и запретить нужные маски.
Да имхо бесполезная трата времени и сил. Человеку мучиться час/день/месяц, а негодяй с анонимайзера зайдет или через проксю и капэц всем стараниям.
Vinyl Отправлено: 20 Марта, 2013 - 19:51:28 • Тема: Плагин memcached для Monstr'ы • Форум: Напишите за меня, пожалуйста

Ответов: 0
Просмотров: 20
Привет, коллеги. Если у кого есть время и возможность, напишите плагин к Monstra CMS для кеширования в memcached всего, что движок хранит в xml. Желательна возможность смены префиксов для имен ключей, чтоб на одном сервере можно было несколько сайтов размещать. Спасибо!
Vinyl Отправлено: 19 Марта, 2013 - 18:31:26 • Тема: Переменные на русском работают, почему? • Форум: Вопросы новичков

Ответов: 9
Просмотров: 560
DelphinPRO пишет:
PS я придумал способ обфускации - выучить китайский и писать скрипты на нем
Радость

Проклятый принц пишет:
Так же удобно
Мне бы было не удобно, хотя моему английскому очень далеко даже до статуса "хорошо".
Vinyl Отправлено: 13 Марта, 2013 - 08:14:34 • Тема: Ваши увлечения или хобби(т) • Форум: Прочее

Ответов: 42
Просмотров: 348
avtor.fox пишет:
Достаточно неплохо
Спасибо Улыбка

avtor.fox пишет:
но мне любо живое исполнение
Мне тоже)

avtor.fox пишет:
Из них моей личной была только Flight
Первый раз я гитару взял в 99-м году, тогда и учиться сам начал. Мне брат двоюродный аккорды по почте (аналоговой Радость ) присылал, а я брынькать пробовал. Так вот, в то время в нашей провинции было две гитары - Ленинградская и электрогитара Радость А Вы Flight, Musima....

Страниц (43): В начало « ... 14 15 16 17 [18] 19 20 21 22 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB