Перейти к публикации
  • Сейчас на странице   Всего пользователей: 1   (0 пользователей, 1 гость)

Hed-kun

Программирование, т. 3

Рекомендованные сообщения

Да я понимаю, что рельсы очень ограниченные, и там не получится писать как-то иначе кроме того как задумали разработчики

 

:lol: :lol: :lol:

 

Как можно использовать ООП и игнорировать mvc?

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

мвц и ооп бывает разным

 

вот я и хочу найти оптимальный под себя вариант

 

десу~~~~

Поделиться сообщением


Ссылка на сообщение

Лол рельсы ничем не ограничены, по сути это просто набор библиотек + генератор кода, который эти библиотеки объединяет в некий каркас, но этот каркас можно при желании изменять как угодно, при наличии понимания, как эти библиотеки работают.

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

Да мне похуй на рельсы, блять. Какая разница какой язык?

Виза просто уебок и он использует рельсы, вот я думаю, что рельсы используют только уебки, ибо больше не знаю людей которые используют реальсы.

 

Вы мне про алгоритмы расскажите, про тесты, блять, про МВЦ.

 

десу~~~~

Поделиться сообщением


Ссылка на сообщение

Я вот раньше называл папку с классами class а потом где-то на хабре увидел что кто-то назвает ее classes

ну это не с лучшей стороны характеризует пхп и пхп разработчиков.

зачем


Колы я выросту - то хочу буты такым як я

5c8bbc85b99e.gif

 

годные смайлы

Поделиться сообщением


Ссылка на сообщение

запрогайте мне или дайте ссылку на то что могло бы имитировать circle dock, но возникающий в определенной области по моему нажатию на какой нибудь значок на раб столе

а?

А?

Поделиться сообщением


Ссылка на сообщение

Я вот раньше называл папку с классами class а потом где-то на хабре увидел что кто-то назвает ее classes

ну это не с лучшей стороны характеризует пхп и пхп разработчиков.

зачем

Да а как ее называть то епта? Блять, вы можете говорить прямым текстом, блять.

 

десу~~~~

ну такие папки вообще без мазы создавать. будет же файлопомойка. ну то-есть у тебя будет папка classes и еще какая?

Колы я выросту - то хочу буты такым як я

5c8bbc85b99e.gif

 

годные смайлы

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

Я вот раньше называл папку с классами class а потом где-то на хабре увидел что кто-то назвает ее classes

ну это не с лучшей стороны характеризует пхп и пхп разработчиков.

зачем

Да а как ее называть то епта? Блять, вы можете говорить прямым текстом, блять.

 

десу~~~~

ну такие папки вообще без мазы создавать. будет же файлопомойка. ну то-есть у тебя будет папка classes и еще какая?

ну у меня простой сайт, скажем блог в нем три (четыре) папки

classes, assets, templates

контроллер гет по сути один на всех - в индексном файле

контроллер пост в другом файле - в корне сайта

 

есть класс Template который собирает страницы из шаблонов по кускам, при этом в самих шаблонах иногда проскакивают обращения к классам

 

это все нормально вообще? потому что это число моя разработка, ну я к этому пришел, за свой короткий опыт

 

 

десу~~~~

Поделиться сообщением


Ссылка на сообщение

Не, это хуета. Юзай рельсы.

Поделиться сообщением


Ссылка на сообщение

контроллер гет по сути один на всех - в индексном файле

контроллер пост в другом файле - в корне сайта

 

такое-то мвц :lol:

 

если такой пиздец в архитектуре, страшно представить, что творится в коде

Поделиться сообщением


Ссылка на сообщение

только что мигрировал оба контролера


Публикация отключена

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha
(изменено)

вот индексный файл

норм?

 

require_once 'application.php';

switch(Route::type())
{
case "blog":
{
 Template::full('blog', array(
  'authorized' => User::authorized(),
  'page'   => Route::page(),
  'menu'   => Route::type()
 ));
 break;
}
case "note":
{
 Template::full('note', array(
  'authorized' => User::authorized(),
  'item'   => Route::value('item'),
  'menu'    => Route::type()
 ));
 break;
}
case "admin":
{
 if(User::authorized())
  Template::full('admin', array(
   'authorized' => User::authorized(),
   'page'   => Route::page(),
   'menu'    => Route::type()
  ));
 else Template::full("login");
 break;
}
case "login":
{
 Template::full("login");
}
}

 

 

десу~~~~

 

Не, это хуета. Юзай рельсы.

да кому я в своем мухосраске нужен с эти говном?

 

десу~~~~

 

и ваще вытакие классные

 

нет бы помочь по нормальному - учи рельсы, да, ты делаешь это нихуя не так

 

будто печетесь, что я займу ваше место, если вы мне расскажете что знаете

 

десу~~~~


Изменено пользователем 2poy_nyasha

Поделиться сообщением


Ссылка на сообщение

учи синтаксис командных файлов windows - будешь в вайне отжигать


Публикация отключена

Поделиться сообщением


Ссылка на сообщение

ну у меня простой сайт, скажем блог в нем три (четыре) папки

classes, assets, templates

контроллер гет по сути один на всех - в индексном файле

контроллер пост в другом файле - в корне сайта

 

есть класс Template который собирает страницы из шаблонов по кускам, при этом в самих шаблонах иногда проскакивают обращения к классам

 

это все нормально вообще? потому что это число моя разработка, ну я к этому пришел, за свой короткий опыт

 

 

десу~~~~

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

Колы я выросту - то хочу буты такым як я

5c8bbc85b99e.gif

 

годные смайлы

Поделиться сообщением


Ссылка на сообщение
(изменено)

Как сделать свой эвент хендлер на основе уже существующего (PingCompletedEventHandler)? Мне нужно послать объект в эвент.

 

asd.handler += (sender1, args) => handler_func(sender1, args,adress);

:buba:допер сам


Изменено пользователем justice_st

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

ну у меня простой сайт, скажем блог в нем три (четыре) папки

classes, assets, templates

контроллер гет по сути один на всех - в индексном файле

контроллер пост в другом файле - в корне сайта

 

есть класс Template который собирает страницы из шаблонов по кускам, при этом в самих шаблонах иногда проскакивают обращения к классам

 

это все нормально вообще? потому что это число моя разработка, ну я к этому пришел, за свой короткий опыт

 

 

десу~~~~

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

GET, POST запросы

контроллер нихуя не возвращает

его по сути даже нет почти, он лишь case-switch'em собирает несколько Model/View'шек

 

 

я уже седня понял чо это не очень тру, теперь роутер в индекте без свитчкэйза, а как в нормальных фв - если есть файлконтроллера, для запропа, то есть и страница - нет = 404

 

убрал всю логику из шаблонов - оставил только if, foreach

 

десу~~~~

Поделиться сообщением


Ссылка на сообщение

вот индексный файл

норм?

 

require_once 'application.php';

switch(Route::type())
{
case "blog":
{
 Template::full('blog', array(
  'authorized' => User::authorized(),
  'page'   => Route::page(),
  'menu'   => Route::type()
 ));
 break;
}
case "note":
{
 Template::full('note', array(
  'authorized' => User::authorized(),
  'item'   => Route::value('item'),
  'menu'	=> Route::type()
 ));
 break;
}
case "admin":
{
 if(User::authorized())
  Template::full('admin', array(
'authorized' => User::authorized(),
'page'   => Route::page(),
'menu'	=> Route::type()
  ));
 else Template::full("login");
 break;
}
case "login":
{
 Template::full("login");
}
}

 

 

десу~~~~

 

Не, это хуета. Юзай рельсы.

да кому я в своем мухосраске нужен с эти говном?

 

десу~~~~

 

и ваще вытакие классные

 

нет бы помочь по нормальному - учи рельсы, да, ты делаешь это нихуя не так

 

будто печетесь, что я займу ваше место, если вы мне расскажете что знаете

 

десу~~~~

То что ты написал, это по сути диспатчер (роутер в некоторых языках называют), но никак не контроллер. Но этот диспатчер слишком многое на себя берет. По идее у тебя должен быть алгоритм выбора контроллеров и способ их регистрировать. А так же единый интерфейс для всех контроллеров. То есть пусть у тебя будет контроллер типа:

interface Control
{
   public function init();
   public function parseParameters($post, $get);
   public function execute();
}

а так же абстрактная фабрика типа такой:

interface AbstractControlFactory
{
   public function getControl($type);
}

и будет какая-та своя реализация.

Это все конечно же на коленке писано, но думаю понятно что должно дальше происходить. Соответственно как у тебя будут инициализироваться контролы на твою фантазию. Можно что бы он брал соответствия типов и контролов из базы, можно что бы из xml, сразу же сможешь и секьюрити туда накрутить если появятся пользователи и роли и тд и тп. Но вот хардкодить все это дело, плохая идея.

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha
(изменено)

я короче как сделал

 

перенаправил все запросы на индексный файл, он подрубает еще один файл типа роутера

роутер дробит адрес запроса, и определяет контроллер по такой схеме - prodota.ru/forum/showtopic

forum - это название контроллера, если существует файл controllers/forum_controller.php, то он подключается и создается экземпляр класса Forum_Controller (extends Controller), затем вызвается некий метод:

showtopic - и есть метод, который вызывается, если эта часть адреса отсутсвует то вызывается по дефолту метод index()

 

ну и соответственно контроллер уже решает чо делать с тем или иным запросом, какой метод подрубать, какие шаблоны отдавать

 

десу~~~~

 

Без такой хуйни ты не сможешь продвинуться дальше было-кодера.

Вот тебе задачка для примера: сделать наследование в js которое бы выполнило верно такой код:

function Parent() {};

function Child() {};

//тут нужно нахуярить наследование

var child = new Child();

child instanceof Parent; //Верни true

Так же если все сделать верно' date=' то должна работать и цепочка наследований, то есть A<-B<-C и A instanceof C === true. Если ты хорошо ПОНИМАЕШЬ js ты её сделаешь за 5 минут без гуглов, а если нихуя не понимаешь, то тебе и гуглы вряд ли помогут, только если скачать jQuery или prototype и с его помощью сделать

[/quote']

спустя почти два месяца

 

function A() {};
function B() {};
function C() {};

B.prototype = new A();
B.prototype.constructor = B;

C.prototype = new B();
C.prototype.constructor = C;

var c = new C();

c instanceof A === true;

 

десу~~~~

 

http://prodota.ru/fo...60#entry9616564

 

десу~~~~

 

ну и офк

>>> c.__proto__.__proto__.__proto__.constructor
A()

 

десу~~~~


Изменено пользователем 2poy_nyasha

Поделиться сообщением


Ссылка на сообщение

Лол ну это стандартный подход. Просто роутеры, которые прилагаются к фреймворкам — очень гибкие и позволяют по разным признакам запроса вызывать нужный контроллер-экшен. Но если в твоем случае достаточно простого /controller/action, то ок.

Работаю руби-программистом, в данный момент удаленно. То есть мог бы жить и в Мухосранске, даже был бы более востребован, т.к. меньше денег просил бы :nate:

Поделиться сообщением


Ссылка на сообщение

Лол ну это стандартный подход. Просто роутеры, которые прилагаются к фреймворкам — очень гибкие и позволяют по разным признакам запроса вызывать нужный контроллер-экшен. Но если в твоем случае достаточно простого /controller/action, то ок.

Работаю руби-программистом, в данный момент удаленно. То есть мог бы жить и в Мухосранске, даже был бы более востребован, т.к. меньше денег просил бы :nate:

ea2c5f35110c.jpg

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...