[Ответить в тред] Ответить в тред

03/04/16 - Набор в модераторы 03.04 по 8.04
26/03/16 - Конкурс: Помоги гомункулу обрести семью!
15/10/15 - Набор в модераторы 15.10 по 17.10



[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 73 | 5 | 25
Назад Вниз Каталог Обновить

Аноним 10/03/16 Чтв 12:59:27  682494  
14576039676590.png (230Кб, 720x404)
Здарова, анон! Знаю PHP, могу написать любой движок, проблем нет, но вот у меня бомбит от своего кода!
Не знаю почему так! :c
Освоил MVC, написал на нем сайт, но бомбанул и удалил его на хуй, ибо мне кажется, что мой не универсален и ему что-то не хватает!
Как быть? Как одолеть эту хуйню?
Аноним 10/03/16 Чтв 12:59:43  682495
бамп
Аноним 10/03/16 Чтв 12:59:59  682496
бамп
Аноним 10/03/16 Чтв 13:00:16  682498
бамп
Аноним 10/03/16 Чтв 13:00:19  682499
пример хотя бы скинь, мы тут не ванги!
Аноним 10/03/16 Чтв 13:22:02  682509
14576053222070.png (104Кб, 1366x768)
>>682499
пример роутера
Аноним 10/03/16 Чтв 14:07:15  682553
Работай за деньги и вся эта хуйня пройдет максимум через 2 недели
Аноним 10/03/16 Чтв 15:20:34  682616
>>682509
Я хочу уебать тебя гаечным ключом за такое говно.
Аноним 10/03/16 Чтв 15:24:07  682619
>>682616
что не так? :(
Аноним 10/03/16 Чтв 15:26:55  682624
>>682619
Если кратко, то всё.
Использование глобальных переменных в классе.
Хардкодинг.
Аноним 10/03/16 Чтв 16:38:19  682692
>>682624
>енных в классе.
>Хардкодинг.
где ты там увидел глобальную переменную?
Аноним 10/03/16 Чтв 16:48:54  682701
>>682692
>Суперглобальный массив $_SERVER.
Ты ещё спроси где там блядь хардкодинг.
Аноним 10/03/16 Чтв 17:17:28  682732
>>682701
погоди, а как без него я получу то, что приходит с url? GET? не, спасибо
Аноним 10/03/16 Чтв 17:25:25  682745
>>682732
Челодлань.икн
Ты просто мегамакака. Эталон говнокодера. Без понимания принципов как объектного, так и структурного программирования. Можешь этим гордиться.
Аноним 10/03/16 Чтв 17:58:03  682772
>>682745
так скажи, как правильно, пиздеть все могут
Аноним 10/03/16 Чтв 17:59:41  682775
>>682772
Главное не сдавайся.

мимохуй не понимающий в PHP
Аноним 10/03/16 Чтв 18:05:00  682778
>>682745
тролль плиз. На PHP то хоть писал вообще, уёбок? загляни в любой opensouce фреймворк маня, и съеби отсюда.
Аноним 10/03/16 Чтв 18:21:42  682798
1
Аноним 10/03/16 Чтв 18:43:57  682818
>>682778
> загляни в любой opensouce фреймворк
большая часть опенсорца написана макаками. брать опенсурц в пример -- лучшая блядь идея в жизни
мимо++господин
Аноним 10/03/16 Чтв 18:45:07  682819
>>682509
Хардкод - хардкодик.
Аноним 10/03/16 Чтв 22:44:26  683196
1
Аноним 11/03/16 Птн 03:43:03  683414
>>682819
Естественно лучше раздристать код по 5000 файлам. Особый шик - если это xml генерирующий xml.
Аноним 11/03/16 Птн 09:06:15  683449
Я проходил такую хуйню, оп. Такие же чувства. Трудно сказать почему так, но попробую.

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

Во-вторых веб-фреймворки это часто совместная работа сотен людей, ты сам чисто физически не вытянешь предусмотреть все возможные use cases, хотя обычно новые фреймворки интенсивно тянут идеи из существующих попутно пытаясь залатать в них дыры.

Теперь о том что такое хорошо. Показателен пример жквери. Он дефакто вытеснил к хуям все существовавшие жс-библиотеки того времени. Потому что всё получается коротко и ясно. Если ты знаешь что у тебя действительно уникальные фичи которые вот так вот твёрдо всё вытеснят, то делай. Я например часто использовал yaml когда он ещё только вышел, а у всех конфиги были в ебаном xml.

Но если честно, моё мнение таково что лучше перейти на рельсы/джангу чем пытаться выебать пхп в миллионный раз снова. Пхп сломан by design, его создатель не хотел делать из него язык, и как ни странно, действительно, пхп до сих пор отличный шаблонизатор, но хуёвый язык.
Аноним 11/03/16 Птн 11:32:25  683514
>>682509
ебать ты говноед
Аноним 11/03/16 Птн 12:28:06  683555
>>683449
То есть не стоит использовать MVC?
Аноним 11/03/16 Птн 12:29:49  683556
>>683449
Бля, их нужно учить!
Я еще не до конца знаю php, а тут python начинать

мне говорили, что он легкий, но
Аноним 11/03/16 Птн 12:32:32  683560
>>683555
>>683556
Ну вот как бы я о том же. Идей у тебя нет, а фреймворки пилишь. Поучиться это очень полезно на самом деле, но если ты хочешь зарубить сразу на века, то нужны идеи. И это я должен у тебя спрашивать нужен ли MVC, ты же фреймворк запиливаешь.
Аноним 11/03/16 Птн 12:36:14  683563
>>683560
я работаю уже месяц над ним, но ничего хорошего не выходит.

Могу написать сайт на нем, но выходит говнокод.

Ты говоришь учить питон? Если я напишу на ем MVC фреймворк, то он будет лучше php? не думаю.
Аноним 11/03/16 Птн 12:42:33  683571
>>683563
Ну так формализуй что конкретно говнокод. Что тебе не так? Работает же.

Питон/руби я бы посоветовал выучить только для того чтобы потрогать рельсы/джангу. Увидишь много интересного, инфа соточка. Веб-фреймворки перестанут быть чем-то невероятно сложным. Хотя я наверное уже давно с пхп не контактировал, но сомневаюсь что что-то изменилось принципиально.
Аноним 11/03/16 Птн 12:47:57  683579
14576896780390.png (65Кб, 1366x768)
>>683571
вот главный вид, что с ним не так?
Аноним 11/03/16 Птн 13:02:21  683604
>>683579
Ну не знаю. Запили на этом сайтец/рест интерфейс/ещё чего-нибудь такое. Вангую что проблемы начнутся когда ты будешь делать разные блоки на сайте, которые должны будут кочевать/наследоваться/заменяться между вьюхами.
Аноним 11/03/16 Птн 13:05:51  683614
>>683604
я тоже об этом думал
Аноним 11/03/16 Птн 13:07:29  683619
но что можно использовать вместо mvc?
Аноним 11/03/16 Птн 13:26:19  683649
>>683619
Обычно всё что есть так или иначе похоже на mvc. Отличаются детали. Например где-то можно отрендерить шаблон в строку, а где-то нельзя.
Аноним 11/03/16 Птн 13:30:26  683659
14576922269860.png (439Кб, 602x449)
>>682494 (OP)
>могу написать любой движок
Чо бля?
>>683449
>хуёвый язык
Чо бля?
Аноним 11/03/16 Птн 13:32:55  683663
>>683659
Чо бля?
Аноним 11/03/16 Птн 13:56:39  683691
>>683649
Скажи, двач написан на wakaba, там все в одном файле.

wakaba.pl

так скажи, что это? это есть правильный?
Аноним 11/03/16 Птн 14:02:00  683703
>>683691
Внутри этого файла ты обязательно найдёшь слой данных, слой представлений и слой логики. Вообще вакаба это тот ещё спагетти говнокод. Так писали в далёком засратом году. Даже на пхп.
Аноним 11/03/16 Птн 14:33:19  683731
>>683703
лучше вообще тогда не писать сайты
Аноним 11/03/16 Птн 14:37:13  683732
>>683731
Чо бля?
Аноним 11/03/16 Птн 15:45:44  683807
>>682778
> На PHP то хоть писал вообще, уёбок?
Не поверишь, ещё на 3.
>>682772
Передавать значения в методы класса, вместо использования суперглобальных для начала. Это упростит использование класса в том случае, например, если тебе надо будет не брать гет или пост параметры, а прогонять данным классом файл или БД, например.
Значения полей класса задавать при создании объекта через конструктор, использовать перегрузку конструктора, вот это всё.
У тебя меганегибкий код. Для того чтобы изменить что-то отличное от твоей базовой конфигурации, придётся лезть в редактирование класса непосредственно, это дно.
Аноним 11/03/16 Птн 15:51:41  683814
>>683807
И да, я долго не понимал, почему похапе программеров называют макаками. Теперь понял.
Это не похапе язык для макак, это макаки засели на похапе. Хуй знает почему, но все блядь решили что раз можно валить в кучу данные, шаблоны функции и классы - то так и надо делать.
Ну блядь и низкий порог вхождения.
Аноним 11/03/16 Птн 16:04:24  683826
>>682494 (OP)
Ты никогда не одолеешь эту хуйню, пока не начнешь думать головой, вместо того, чтобы задавать подобные вопросы. Единственный критерий, по которому ты должен оценивать свой код, это корректность его работы и только (ну, кроме случаев, когда ты работаешь над ним не один и должен придерживаться определенных конвенций). Да, глобальные переменные и хардкодинг это не найс (но далеко не во всех случаях), но если ты перестанешь их использовать потому что пацаны с сосача сказали, что это зашквар, самостоятельно не дойдя до понимания, почему это так, то ты только сильнее укрепишь свой статус кодомакаки, способной только на копипастинг задроченных паттернов.
Аноним 11/03/16 Птн 16:10:10  683831
>>683814
Я тут ещё раз напомню, что пхп это хороший шаблонизатор, и именно так он изначально и задумывался. Поэтому всё свалено в кучу и все обычноязыковые фичи привинчены как до жопы дверца.
Аноним 11/03/16 Птн 16:13:41  683834
14577020219720.png (17Кб, 425x597)
14577020219721.png (4Кб, 418x114)
14577020219722.png (10Кб, 614x425)
Рейтаните мой роутер плиз и как я реализовал подключение вьюхи

%%если говно, то обьясните где и почему так не правильно и каким проблемам это может привести
Аноним 11/03/16 Птн 16:19:50  683835
>>683834
3 скрин - говно, так не нужно делать!

Аноним 11/03/16 Птн 16:21:51  683838
>>683834
зачем ты на 2 скрине подключаешь через include?

у тебя есть главный вид, который должен это делать
Аноним 11/03/16 Птн 16:24:17  683839
>>683838

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

А вот тебя я не совсем понял
Аноним 11/03/16 Птн 16:24:19  683840
>>683807
Можно же Singleton использовать
Аноним 11/03/16 Птн 16:28:32  683844
>>683834
Рейтанул.

Ты короче не переживай так насчёт всего что может произойти не так. Код, в особенности фреймворков, так не пишется. Пишется сначала минимум решающий определённую задачу. Возможно даже не отдельным фреймворком, а прямо встроенный в проект. Затем пишется второй проект, использующий много общего с первым. Общий код постепенно выносится в фреймворк, оба проекта перенимают друг у друга всё хорошее, интерфейс фреймворка несколько улучшается.

Далее идут третий, четвёртый, тысячный проекты. И каждый требует что-то своё, какую-то фичу, мало ли что кому в голову взбредёт. Фреймворк совершенствуется. Кто-то вносит свои идеи как можно оптимизировать некоторую рутину, фреймворк совершенствуется дальше. Вот так оно и растёт.

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

То есть вот тебе сейчас тут нарассказывают что говно потому что во фреймворкнейме это сделано иначе и красивее, но на деле это всё мелочи. Резюмируя: делай так чтобы работало и делай так чтобы было проще и короче.
Аноним 11/03/16 Птн 16:28:35  683845
>>683839
смотри.

Начальная точка - это index
в index допустим подключаем роутер.!

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

Если нету модели, то просто запускаем вид.

pub funct indexAction()
{
$this->view = new View(); // это можно сделать в главном контроллере

// далее
$this->view->render('имя вида');

/ главный вид получает через метод render имя вида
затем подключает нужный вид
но делать так:
include 'файл вида';
в контроллере это анриал
/

}
Аноним 11/03/16 Птн 16:36:06  683848
может кто покажет пример роутера?
Аноним 11/03/16 Птн 16:39:41  683854
но лучше всего использовать Autoload!

spl_autoload_register
spl_autoload_unregister

а пространства имен называть именами папок
будет подгружать сразу же
Аноним 11/03/16 Птн 17:11:55  683877
>>683835
А, кстати, почему считается зазорным мешать хтмл с пхп как на скрине? Просто это же единственная киллер фича языка, и если ей не пользоваться, то у пхп не остается ничего, что делало бы его хотя бы не хуже питона или старого, доброго перла.
Аноним 11/03/16 Птн 17:28:45  683898
>>683877
Если все так будут делать, никто не станет платить ОПу за абстрактные фабрики фабрик. Это единственная причина не использовать PHP для того, для чего он предназначен, а писать на нём так, как пишут на Java.
Аноним 11/03/16 Птн 17:41:05  683912
>>683845

окей, я тебя понял, спасибо

>>683844

спасибо за совет
Аноним 11/03/16 Птн 17:54:20  683930
>>683845

Неточности:

- роутер это штука которая только разбирает УРЛ и решает что делать. Если он еще и находит и запускает контроллер то это уже Фронт Контроллер, а не роутер: http://design-pattern.ru/patterns/front-controller.html

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

>>683848

function route($url)
{
if ($url == '/') {
return 'index';
}

return false;
}

Посложнее: http://symfony.com/doc/current/book/routing.html
http://symfony-gu.ru/documentation/ru/html/book/routing.html

>>683877

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

> старого, доброго перла.
плиз

>>683898

Неосилятор. Фабрики не просто так придуманы.

Аноним 11/03/16 Птн 18:12:56  683952
>>683930

типа как на первом скрине ? >>683834
Аноним 11/03/16 Птн 18:21:16  683961
>>683930
>Неосилятор. Фабрики не просто так придуманы.
Конечно, они придуманы, чтобы увеличить число человекочасов, требуемых для реализации проекта, дабы занять массы в эпоху повсеместной автоматизации труда.
>Тайп-хинтинг
Привет. https://docs.python.org/3/library/typing.html
>abstract, public, private
Сущности сверх необходимого, так и запишем.
Аноним 11/03/16 Птн 19:26:47  684061
>Тайп-хинтинг
Я не смотрел но есть подозрение, что эту фичу тоже запилили максимально самобытной. Дженерики-то есть? Есть там какие-нибудь lolphp мелочи,
Аноним 11/03/16 Птн 19:28:51  684063
>>684061
это вопрос к PHP-трудягам.
Аноним 11/03/16 Птн 19:40:44  684077
>>683961
>Сущности сверх необходимого, так и запишем.
Ну да, если ты девственник, то и остальным хуй не нужен, да?
Аноним 11/03/16 Птн 19:44:12  684086
>>684077
Неверная аналогия. Пойти и трахнуть самку слишком просто, поэтому мы запилим нравственность, моногамию и институт брака. И религию, религию забыл. Похуй, что это создает больше проблем, чем решает, зато все при деле.
Аноним 11/03/16 Птн 20:28:20  684209
>>684086
Ну зачем так категорично. Иногда, без ущербной промежуточной концепции невозможно, как минимум, осознание ее ущербности и движение вперед (как был бы невозможен текущий уровень развития человечества без перечисленных тобой вещей).
Аноним 11/03/16 Птн 20:29:19  684211
>>684086
Верная абсолютно. Если ты не пользуешься хуем, то НИНУЖЕН. Вот какая у тебя логика.
Аноним 11/03/16 Птн 20:55:57  684256
Абу вот не ебет, что его сайт в одном файле
Makaba.cgi
Аноним 11/03/16 Птн 20:56:15  684257
>>684211
Ладно, если мне понадобится шестой раз за ночь удовлетворить твою ненасытную мамашу, я возьму здоровый такой дилдак (Java), которому, уж тем более, твой фимозный короткоствольный PHP не составит конкуренции. Такая аналогия ясна?
Аноним 11/03/16 Птн 22:08:44  684395
>>682494 (OP)
Возьми и реши реальную задачу, а не пили кодинг ради кодинга.
Аноним 11/03/16 Птн 22:18:14  684418
>>682494 (OP)
Да нормальный код ОП, такое же писал. Если планируешь оставаться на пхп, возьми фреймворк какой-нибудь. Но ты правильно делаешь то что пишешь костыли, свой mvc и так далее, т.к. это дает представление о том в чем ты работаешь, возможно ты будешь main контрибьютером в каком-нибудь фреймворке (отличное портфолио как по мне). Скажу так: для себя такой код это норм, если делать проекты, то бери фреймворк (ларавел тотже)
Аноним 12/03/16 Суб 00:00:56  684564
я просмотрю другие фрэймворки и напишу что-то свое. всем спасибо.
Аноним 12/03/16 Суб 11:40:17  684830
>>683579
>PATH['app']
Когда это в php завезли массивы-константы?
Аноним 12/03/16 Суб 11:46:10  684833
>>684256
Это называется единая точка входа.

Хотя хуй его знает, что там под капотом.
Аноним 12/03/16 Суб 12:12:34  684849
>>684830
в php 7 завезли, а еще многое другое
Аноним 13/03/16 Вск 21:01:13  686742
1

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 73 | 5 | 25
Назад Вверх Каталог Обновить

Топ тредов