Вк мастер или как говорят Платформа вк. Готово 1% (Регистрация, статус) скачать https://cloud.mail.ru/public/36Dm/NLqW92HVv ---------------- Установка: выгрузить все с папки vk-master на сервер. Зайти в model и прописать данные в файле startup.php бд Заменить домен на свой: Начальный домен стоит localhost (вроде) Платформа vk.com == У меня нет доступа к конфигам. Не могу запустить функцию "flush()", из - за этого каждая страница при запросе через фрейм не будет моментально отображатся, страница будет отображена после полной загрузки. У меня на локалхосте все работает нормально. Платформа вся на ООП, MVC. Протестировать, конечно, на высокие нагрузки не получилось. -- из того, что реализовано -- - Платформа. - Регистрация. - Вывод всех пользователей с меткой онлайн. - Вывод профайлов. - Изменение статуса у пользователей. Были уже наработки long polling на XMPP, memcached. Все реализованно на оригинальном ВК-шном javascript коде. Первый этап был изучить common.js, кому интересно можете почитать, весь файл прокомментировал. Каждый переход по ссылке на сайте реализован на "high load", так - как и на оригинальном сайте ВК. При переходе по ссылке, страница запрашивается с параметром al = -1, ответ приходит во фрейм и там он уже парсится и вставляется в контент (html) страницы, выполняется текущий JS код. Каждая страница поддерживает 3 варианта вывода: прямой запрос на страницу, al=1, al=-1. При этом независимо от того как на каждой страницы построенна логика вывода, страница отдается автоматически в нужном варианте вывода. al = -1 - (обычная загрузка страниц через фрейм) ответ(вся реализация) во фрейме. al = 1 - (обычный ajax запрос) ответ через сплиты "<!>". -- Дальше распишу как это работает и как это использовать -- При запросе страницы с пар. al=-1 для фрейма, в нужном методе act при вызове метода view загрузки конкретного html шаблона можно передать во 2 пар. массив forFrame. Если массив будет передан, то после генерации этого шаблона он будет немедлено вставлен и выведен во фрейм не дожидаясь полной загрузки. -- Пример -- ```php $test = $this->view('test/v_test.php', array( 'content' => $mTest, // (Пример) переменная c данными для генерации. 'forFrame' => array( 'to' => 'ID', // id элемента куда будет вставлен этот html шаблон. 'js' => 'CODE' // (НЕ объязательный пар., если пар. не передан ставится null) js код который будет выполнен при вставке html шаблона. ) )); ``` Если при запросе страницы с al=-1, forFrame не будет передан в генерацию нужного html, то этот html вставлен во фрейм не будет, его нужно вставлять в ручную в основной шаблон, и при окончании загрузки страницы он будет выведен уже в основном шаблоне. Пример реализации можно посмотреть в test.php Сам механизм вставки я реализовал рекурсивным вызовом метода view. Проще было бы реализовать с помощью прослушки глобальной переменной (стека) куда бы при вызове view складывался весь вывод, а при прослушки вставлять в основной шаблон фрейма этот html не дожидаясь полной загрузки страницы, получилось бы лучше, но для этого нужна многопоточность, а в php она кривая и требует больших ресурсов =( -- Вся структура проекта, директории -- - core -- ядро, сам фреймворк. - css -- статика - images -- статика - inc -- Вспомогательные классы. Для разделения логики. - js -- статика - lang -- Все переводы. - model -- Менеджеры работы с базой данных. Менеджер работы с пользователями называется M_Users.php, там все прокомментированно. Кому интересно - читайте. - view -- весь html и js для генерации и вставки. Каждая папка внутри view именуется как файл в который будет подключен вид, внутри нее файлы с html видом и папка JS для генерации текущего JS кода. Все файлы именуются так: v_test_index.php v - Для наглядности, что это вид. test - ИМЯ ФАЙЛА В КОТОРЫЙ ВИД БУДЕТ ПОДКЛЮЧЕН. index - ИМЯ ЭКШЕНА В КОТОРЫЙ ФАЙЛ БУДЕТ ПОДКЛЮЧЕН. Файлы в папке JS именуются по такой же схеме, только с префексом "js_" вместо "v_". - В корне проекта находятся контроллеры. (Основные файлы, точки входа). Кто хочет, может почитать код, весь код прокомменировал. Хотелось бы и дальше реализовывать, но времени вообще нет, мне надо заниматься мобильной разработкой. Так же в корне находится файл vk.sql, для тех кто хочет залить себе и протестировать. Все это делал для закрепления своих знаний. настройка регистрации view\main\v_main_full.php 17 строчка меняем этат домен на свой interesniepodarki.ru view\widget\sideBar\v_login.php 2 строчка этат домен на свой interesniepodarki.ru
Что это, Автор? Клон вконтактика или что? И да, когда готов 1%, то остальные 99% это не "помогите закончить", это "сделайте мне проект".
полный фейерверк в голове! давно меня так посты не весилили --- Добавлено --- @kinlok ты вообще весь этот поток сознания где взял? =)