@phpclubru

Страница 439 из 956
Dmitry
13.01.2018
21:09:39
не знаю, глобальных проблем с бс не помню...

Maksim
13.01.2018
21:10:02
я всё равно связи не вижу

Pavel
13.01.2018
21:10:07
А так - запилить клиентский то можно, только тогда пропадает смысл в yii вообще )

Maksim
13.01.2018
21:10:24
а, фреймворк = контейнер?

Google
Maksim
13.01.2018
21:11:20
Павел, с тобой как-то сложно темы обсуждать) ты либо прикидываешься, либо я хз) вроде, годные вещи порой пишешь. Но иногда чёт не в ту степь, совсем.

В общем, привет Composition over inheritance private свойства и методы в либах/фреймворках - более чем ок подход.

Dmitry
13.01.2018
21:18:19
Ищем талантливых Разработчиков PHP на back-end для развития highload проекта Ключевой стек: PHP, MySQL, Yii2

сразу грусть

Maksim
13.01.2018
21:18:47
ну, где хайлоад, там конечно талант и юи

не было бы хайлоада без юи)

Pavel
13.01.2018
21:20:10
а, фреймворк = контейнер?
Если хорошенько нырнуть в yii1 то там можно увидеть как элегантным движением брюки из 2008 превращаются в уютную няшу из 2015, модельки встают на свои места, контейнер начинает работать как надо. Если бы не долбаный private

Dmitry
13.01.2018
21:20:27
ахха... еще перл оттуда Уютный современный офис в бизнес-центре класса «А» с панорамным видом на Москву; • Работа рядом с метро Чертаново и Варшавская 

Pavel
13.01.2018
21:20:57
Клиентский контейнер - это не то, он тогда начинает жить как бы своей жизнью и проекта становится с раздвоением личности

Maksim
13.01.2018
21:21:09
глупости

для чего нужен di контейнер?

не путаешь ли ты его с обычным сервис локатором часом?

Google
Pavel
13.01.2018
21:22:33
Нам он нужен был чтобы не рассовывать вручную зависимости по многочисленным сервисам

Maksim
13.01.2018
21:22:43
отлично

фреймворк тут каким боком?

Pavel
13.01.2018
21:23:13
У нас на нем все написано

Pavel
13.01.2018
21:23:27
Че поцаны ООП

Maksim
13.01.2018
21:23:30
круто. Вычисления ваши - тоже часть фреймворка?

Pavel
13.01.2018
21:24:06
круто. Вычисления ваши - тоже часть фреймворка?
Да, там феерично расставлены вызовы Yii::app()-> в разных местах ?

Ihor
13.01.2018
21:24:22
кстати, а куда в симфони можно вынести класс, чтобы он использовался для композиции в контроллерах?

Maksim
13.01.2018
21:24:39
ну это рукожопство. Оно ни к фреймворку, ни к контейнеру отношения не имеет. Если бы там было $this->container->get('') лучше бы не стало

Maksim
13.01.2018
21:26:05
Pavel
13.01.2018
21:26:41
Тем что ->container доступно только там где он внедрен, а Yii::app() везде вообще.

Ihor
13.01.2018
21:26:42
Для композиции?? Например
пример, есть у меня PlaceController в котором будет создаваться экземпляр класса Weater

Pavel
13.01.2018
21:26:45
Первое это статический вызов

Maksim
13.01.2018
21:27:20
Тем что ->container доступно только там где он внедрен, а Yii::app() везде вообще.
блин, я заверну контейнер в синглтон, если легче станет жить. Это всё работа с сервис локатором, а не с контейнером. Вот в чём посыл основной

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

Pavel
13.01.2018
21:28:32
Кому - нам? Я то живу в реальном мире и пришел уже на готовенькое. Просто разгребаю последствия :)

Pavel
13.01.2018
21:29:00
Надо как-то минимизировать боль.

Maksim
13.01.2018
21:29:12
ну это не проблема юи, не проблема контейнера, не проблема наследования и композиции. Это проблема рукожопства и только

Google
Pavel
13.01.2018
21:29:17
А создать можно где угодно

Ihor
13.01.2018
21:29:44
а куда класс Weather положить?) вот в чёс вопрос )

Pavel
13.01.2018
21:30:57
В каком смысле положить? Куда запихнуть Weather.php?

Pavel
13.01.2018
21:31:03
ну это не проблема юи, не проблема контейнера, не проблема наследования и композиции. Это проблема рукожопства и только
Все в нашем мире состоит из рукожопства. Имеет лишь значение, что мы делаем с этим рукожопством нашей джедайской силой воли...

Ihor
13.01.2018
21:31:12
ну да, чтобы кошерно было

Pavel
13.01.2018
21:31:46
Куда хочешь

Maksim
13.01.2018
21:31:49
Все в нашем мире состоит из рукожопства. Имеет лишь значение, что мы делаем с этим рукожопством нашей джедайской силой воли...
ну конкретно в описанном тобой кейсе контейнер не даст никакого профита. Ну кроме того, что вы ЧСВ потешите на тему того, что он у вас есть

Pavel
13.01.2018
21:32:01
Просто неймспей напиши нормально

Maksim
13.01.2018
21:32:13
Даст
неа

Maksim
13.01.2018
21:32:29
так же будет передаваться в конструктор ContainerInterface и всё)

Pavel
13.01.2018
21:32:32
Надо показывать исходники и объяснять. Но это бессмысленно так как я уже знаю что из-за private ничего не изменить.

Maksim
13.01.2018
21:33:15
Reflection API тебе в помощь) подсунь как-нить, если так сильно хочется)

Pavel
13.01.2018
21:33:17
спс
Какое предназначение у этого класса?

Ihor
13.01.2018
21:33:42
погоду подтягивать по апи

Pavel
13.01.2018
21:33:50
Ааааа

Тогда это сервис

Maksim
13.01.2018
21:34:05
скорее, провайдер)

Pavel
13.01.2018
21:34:37
Не суть

Google
Pavel
13.01.2018
21:34:49
Для них отдельную папочку

А чтобы в контроллере использовать

Зарегистрирует как сервис

Ihor
13.01.2018
21:35:46
спс, пойду почитаю мануал )

о сервисах

Maksim
13.01.2018
21:37:04
Надо показывать исходники и объяснять. Но это бессмысленно так как я уже знаю что из-за private ничего не изменить.
вместо использования юишного реестра внутри можно было передавать сервисы явно в виде зависимостей. Но за лень приходится платить. Эти самые люди передавали бы так же Container внутрь и суть бы не изменилась НИКАК

Pavel
13.01.2018
21:54:12
Все тлен. Что бы ты ни накодил сейчас, как бы не отформатировал - через пару лет будет считаться отвратительным говнокодом. Смирись.

Maksim
13.01.2018
21:54:37
у меня быстрее) 2 минуты назад - уже говнокод :)

Pavel
13.01.2018
21:55:03
Зачем так жить?

Maksim
13.01.2018
21:55:14
умирать не охота)

Dmitry
13.01.2018
22:59:17
Ну вообще-то статус юя1 уже такой, что можно спокойно форкаться и проставлять protected везде где необходимо

Maksim
13.01.2018
23:04:15
и творить ещё больший ад, да)

Raensul
14.01.2018
09:46:06
можете помочь студенту? не могу понять как простой билдер реализовать, в варианте, где есть только класс продукта и ксласс-строитель

совйства продукта ведь описываются в классе продукта?

т.е. например class Car { public $color = 'grey'; public $engine = 'TS'; public $transmission = 'MANUAL'; public $wheelsDrive = 2; public function __construct($c, $e, $t, $w) { $this->color = $c; $this->engine = $e; $this->transmission = $t; $this->wheelsDrive = $w; } }

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

в тырнете не нашел примеров на php простого билдера. есть только классический с деректором

полный код https://gist.github.com/Raensul/a8f615d8489b7c4e5e5328810d60a52b - это так, как я думаю должно быть, но тогда я не знаю как описать класс-строитель...

Dmitry
14.01.2018
11:02:35
можете помочь студенту? не могу понять как простой билдер реализовать, в варианте, где есть только класс продукта и ксласс-строитель
Ну, смотри, если в классе есть конструктор, то понимай, что метод __construct() будет выполнен сразу при создании экземпляра класса. Это нужно для того, чтобы определить поля класса входными данными $c, $e, $t, $w. Класс CarConstruct по сути не нужен, так как получается, что выполняется двойная работа. Ты можешь эти свойства прописать сразу при создании экземпляра: $car1 = new Car($c, $e, $t, $w);

Raensul
14.01.2018
11:12:07
Это я понимаю, спасибо. Но тут же суть в том что при создании строителя можно строить кар1 2 3 С разными значениями Полей, И при этом не заморачиваться порядком их написания при определении нового объекта. Как я понимаю, в этом и состоит суть билдера

Google
Raensul
14.01.2018
11:12:19
В моём случае билдер упрощенный

Классический билдер я пока не трогал, Хочу сначала разобраться с простым.

dypa
14.01.2018
11:13:21
удачи http://designpatternsphp.readthedocs.io/ru/latest/Creational/Builder/README.html

Plomipu
14.01.2018
11:24:53
Здорово, ребята. Короче выручайте. Моя задача ограничить доступ к моему git репозиторию только для определённого круга пользователей. Для доступа других людей к моему репозиторию я им передаю свой публичный SSH-ключ. Но как другой человек должен его использовать, чтобы получить доступ к нему ? Я столько гуглю, а все равно не попадаются статьи на эту тему, а только: как зайти по ssh на git сервер, но это не совсем то. Поэтому я вас умоляю: дайте мне пожалуйста статью как это делается или хотя бы направьте меня с подходящей фразой, чтобы правильно нагуглилось. p.s. Мне предлагали перетащить репозиторий на GitLab или BitBucket. Конечно это выход, но я бы хотел узнал как передавать доступ к ограниченному число пользователю посредством ssh-ключа, так как не на всех серверах git может быть доступна фича добавления определённого числа людей в команду для работы над определённым репозиторием зарегестрированным юзерам. Я знаю, что мой вопрос не по PHP просто тот факт, что просто так у меня не удаётся нагуглить существенные статьи, где про всё это сказано чёрным по белому не находятся чтото, спросить не у кого, а время идёт (.

Dmitry
14.01.2018
11:30:11
как раз как зайти по ssh на гит сервер и есть то. гит работает поверх ssh. так что вопрос заведения нескольких linux пользователей со своими ключами и правами записи в директорию с репозиторием

Plomipu
14.01.2018
11:41:09
как раз как зайти по ssh на гит сервер и есть то. гит работает поверх ssh. так что вопрос заведения нескольких linux пользователей со своими ключами и правами записи в директорию с репозиторием
да. Только мне не понятно: как linux юзер на удалённом компе должен использовать ключ для аутентификации , который я ему дам ? Или как он по ssh подключившись к серверу git увидит чисто тока мои репозитории ?

Dmitry
14.01.2018
11:42:34
линукс юзер на гит сервере

доступ к репозиторию (а репозиторий это просто папка на диске) обуславливается правами доступа linux

Igor
14.01.2018
11:44:22
есть такая опция в authorized_keys файле, как command. она ограничивает входящее подключение одной командой. например, так работают гитлаб и гитхаб: для авторизации используется один линукс-юзер, но при этом удается разграничить доступ к репам

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

Plomipu
14.01.2018
11:51:44
линукс юзер на гит сервере
Прошу только не подумайте, что я тупой, хоть и признаю, что лажаю по крупному. Просто я хочу уточнить. Git сервер, который я использую изначально не мой. Поэтому как linux юзер не имею возможности менять права к папкам и файлам. Я просто его пользователь, к которому админ мне дал доступ( зарегистрировал ). Но создать ключик я могу. Другой вопрос в том, что если я не являюсь привилегированным пользователем git сервера, то даже не смотря на то, что кому-то передам его, то все равно другие сторонние пользователи не смогут им воспользоваться, чтобы через ssh посмотреть мои репы , если они помечены как "private" ? Так получается ??

Dmitry
14.01.2018
11:52:38
наверно стоит начать с того, что такое у тебя гит сервер

видимо это какое-то отдельное ПО, раз там можно что-то заводить... тут только это ПО и может помочь, умеет оно разных пользователей или нет

Plomipu
14.01.2018
11:57:30
Это грубо говоря хост на Линуксе( о чём вы и сказали ) для хранения файлов, только с git оболочкой.

По другому объяснить не могу.

Maksim
14.01.2018
11:58:37
возьми битбакед и не парься. Он стоит чуть больше ноля. Ни одна команда не заметит таких трат

Plomipu
14.01.2018
12:01:42
возьми битбакед и не парься. Он стоит чуть больше ноля. Ни одна команда не заметит таких трат
Я и сам знаю. Просто почему вы мне советуете делать другое вместо того, чтобы объяснить: не правильно ли я чтото понимаю ? Если да, то почему ? Можно ли сделать так как я написал в вопросе или нет и почему ? Просто сделайте милость ответить на мой вопрос, а перейти на битбакет я и так успею, так как там у меня уже аккаунт имеется

Dmitry
14.01.2018
12:03:07
если это хост, но ты не админ, а обычный юникс пользователь, то ничего ты не сделаешь

Plomipu
14.01.2018
12:10:11
если это хост, но ты не админ, а обычный юникс пользователь, то ничего ты не сделаешь
мы ведь имеем в виду одно и тоже , верно ? Я говорю о git сервере. Просто если бы я перешёл на другой git сервер, на котором могут зарегистрироваться ВСЕ, они также наверное будут зависеть от админа, если судить из того, что вы сказали.

Страница 439 из 956