@phpclubru

Страница 949 из 956
Андрей
18.07.2019
07:10:59
kaktus778
18.07.2019
07:11:02
Это как?)
Подготовленные запросы

Могу ссылку на свой дать))

Андрей
18.07.2019
07:11:28
Могу ссылку на свой дать))
Я тренеруюсь для себя)

Google
kaktus778
18.07.2019
07:11:32
Он не доделан но может интересно будет

Я тренеруюсь для себя)
Тогда читай про подготовленные запросы

Андрей
18.07.2019
07:13:37
SELECT users FROM ?
через селект нужно выбирать только те данные, которые нужны (* - выбрать всё). Почитайте про агрегатные функции.

Андрей
18.07.2019
07:14:06
завалилы инфой :D

А эта строка как? Правильно? $test_login = $login_err ?? true;

kaktus778
18.07.2019
07:14:46
Я тренеруюсь для себя)
https://bitbucket.org/Alex7702/natcmf/src/master/

Я сам делал драйвер для работы с БД)) все сам без пакетов сторонних)) игрался))

kaktus778
18.07.2019
07:18:53
Ты меня поломать хочешь?)
Там очень примитивно все)) вместо di - реестр и синглтоны)) роутер примитивный)) просто структуру mvc строил для понимания как все должно работать)

Есть поддержка и mysql и sqllite))

Sergey
18.07.2019
07:20:25
Добрый день, пожалуйста подскажите как создать phpunit тест для этого класса если не трудно? Я в этом новенький (https://pastebin.com/udQQL5hk) пол ночи мучался и не смог понять как этот тест построить правильно

Google
kaktus778
18.07.2019
07:20:30
Я только начал на ООП что то делать более менее)
Вот смотри велосипед)) там абстракций мало)) все понятно должно быть)) даже комменты есть))

Андрей
18.07.2019
07:25:13
Вот смотри велосипед)) там абстракций мало)) все понятно должно быть)) даже комменты есть))
С этим я понял, читать лучше под обед буду) а вот с тернарными не как не пойму логики, как правильно сделать?) $test_login = $login_err ?? true:'<b style="color: red">Данный логин занят!</b><hr>'; хочу уйти с if , он устарел)

kaktus778
18.07.2019
07:26:58
$res = true ? 'this is true' : 'this is false'

$res = null ?? null ?? null ?? 'not null'

Они для разных случаев

Андрей
18.07.2019
07:32:31
Они для разных случаев
хм, а как потом понять tru и будет ли дальше происходить скрипт, или false, и дальше не пойдет

Алексей
18.07.2019
07:40:50
С этим я понял, читать лучше под обед буду) а вот с тернарными не как не пойму логики, как правильно сделать?) $test_login = $login_err ?? true:'<b style="color: red">Данный логин занят!</b><hr>'; хочу уйти с if , он устарел)
иф не устарел, иф - это ветвление. вервление - это повышение сложности повышение сложности - это ошибки и неконтролируемый код Потому использовать иф стоит дозированно, и по возможности там, где это не приводит к ветвлеию Управление сложностью епта

Андрей
18.07.2019
07:41:27
иф не устарел, иф - это ветвление. вервление - это повышение сложности повышение сложности - это ошибки и неконтролируемый код Потому использовать иф стоит дозированно, и по возможности там, где это не приводит к ветвлеию Управление сложностью епта
То есть лучше заменить на if ?) function err_reg(){ $login_err = $this->select_db("SELECT COUNT(*) FROM `users` WHERE `login`='$this->reg_login'"); $test_login = $login_err ?? false ?? '<b style="color: red">Данный логин занят!</b><hr>'; $email_err = $this->select_db("SELECT COUNT(*) FROM `users` WHERE `email`= '$this->reg_email'"); $test_email = $email_err ?? false ?? '<b style="color: red">Данный email занят!</b><hr>'; }

Андрей
18.07.2019
07:43:24
т.к. если запрос не выполнился, до дольнейшее исполнение кода бессмысленно
if ($login_err == true) { exit('<b style="color: red">Данный логин занят!</b><hr>'); }

Так всмысле?

Алексей
18.07.2019
07:43:55
try {} catch(){}

Андрей
18.07.2019
07:44:13
try {} catch(){}
не ломайте человека вот так сразу

Алексей
18.07.2019
07:44:16
и обрабатывать такие ситуевины централизованно

Андрей
18.07.2019
07:44:16
try {} catch(){}
Я не умею юзать такое :D

Алексей
18.07.2019
07:44:42
Google
Андрей
18.07.2019
07:44:44
Я до вечера с такой инфо не проживу, по тише)

Алексей
18.07.2019
07:45:32
Я до вечера с такой инфо не проживу, по тише)
мозг - это почти вода.. череп - более менее гермитичен... если дырку не просверлишь - не вытечет

Андрей
18.07.2019
07:49:39
пусть учится
Типо так?) try { $login_err = $this->select_db("SELECT COUNT(*) FROM `users` WHERE `login`='$this->reg_login'"); if ($login_err == true) { throw new Exception('<b style="color: red">Данный логин занят!</b><hr>'); } } catch (Exception $ex) { echo $ex->getMessage(); }

Алексей
18.07.2019
07:50:47
так имеет смысл писать толко если перекидывать екскепшен на специфический - свой

try { $login_err = $this->select_db("SELECT COUNT(*) FROM `users` WHERE `login`='$this->reg_login'"); if ($login_err == true) { throw new Exception('<b style="color: red">Данный логин занят!</b><hr>'); } } catch (Exception $ex) { throw new MyUserAlreadyExists($ex); }

потом затраить основной цикл своего приложения

Алексей
18.07.2019
07:53:25
и там писать catch(MyUserAlreadyExists $myUserAlreadyExists){ // @todo код который отвечает за поведение специфичного исключения }

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

Алексей
18.07.2019
07:54:43
и когда что то где то поломается, или потребутся изменить формат ответа - не придется ползать по всему коду

в искать где что поломалось и исравляя в милионе мест

твой подход хорош для 3-го курса колледжа

и для приложения на 500-1000 строк максимум

но если больше - это приведет к состоянию клубка с жуками

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

вот

Андрей
18.07.2019
10:09:26
Чет у меня не выходит с ООП, подксжите пожалуйста))) Ват кусок класса: class Reg extends Connect { var $reg_login; var $reg_email; var $reg_pass; function connect_db() { return parent::connect(); // TODO: Change the autogenerated stub } public function __construct($reg_login, $reg_email, $reg_pass) { $this->reg_login = trim($reg_login); $this->reg_email = trim($reg_email); $this->reg_pass = trim($reg_pass); } Пытаюсь передать данные, но ошибка...if (isset($_POST['reg_but'])){ $sv_user = new Reg($_POST['reg_login'],$_POST['reg_email'],$_POST['reg_pass']); var_dump($sv_user); }

Алексей
18.07.2019
10:25:02
а откуда родитель должен узнать какие у потомка параметры для подключения?

Google
Andrey
18.07.2019
10:45:58
Что?:D
Начальный и зависимый)

Алексей
18.07.2019
10:46:49
Что?:D
похоже мы друг друга не поймем

Terminator
18.07.2019
13:06:50
Mihail Petrov будет жить. Поприветствуем!

Dmitry
18.07.2019
13:18:33
как думаете на собесе задать вопрос вроде "что бы вы хотели, что бы вас спросили на собеседовании"... ну и спросить это

Andrey
18.07.2019
13:21:43
Dmitry
18.07.2019
13:22:01
в чем рисковость заключается?

Andrey
18.07.2019
13:22:34
в чем рисковость заключается?
Скажем так.. Не особо корректный вопрос со стороны собеседующегося.)

Но если этот вопрос задает собеседующий или HR, то эт норма

Dmitry
18.07.2019
13:22:57
в чем заключается его некорректность?

Andrey
18.07.2019
13:26:20
в чем заключается его некорректность?
В том, что собеседующийся задает этот вопрос HR-у или собеседующему и тем самым: а) Ставит под сомнение компетентность работодателя (собеседующего и HR) б) Выставляет себя в довольно невыгодном свете на собеседовании в глазах п. (а)

Dmitry
18.07.2019
13:27:31
А понял. Я не HR, но я собеседую людей. Т.е. хочу задать такой вопрос кандидату, что бы он раскрыл свои сильные стороны (по его мнению)

Terminator
18.07.2019
13:47:52
@Appomart будет жить. Поприветствуем!

@iul_naidenova будет жить. Поприветствуем!

Maksim
18.07.2019
16:26:15
Добрый день, подскажите плиз можно ли стандартными средствами при запуске phpunit выгружать часть базу и на основе дампа создавать тестовую ?

Dmitry
18.07.2019
16:37:34
в setup что хочешь, то и делай

либо брать что-то кодесепшена

Maksim
18.07.2019
16:46:29
https://packagist.org/packages/phpunit/dbunit
немного не то, есть база данных основная, при запуске тестов надо сделать её некий дамп с определенным таблицами. основная задача дамп + импорт в другую базу. или это выходит за рамки phpunit ? нельзя ли в конфигурационном файле до запуска тестов выполнить какой либо task ?

Pavel
18.07.2019
16:48:14
Это выходит за рамки, для создания дампа ты можешь себе сделать composer команду и выполнять ее перед тестами

А вообще unit тесты надо гонять на четко зафиксированных фикстурах, а не на меняющихся дампах

Google
Maksim
18.07.2019
16:50:06
А вообще unit тесты надо гонять на четко зафиксированных фикстурах, а не на меняющихся дампах
фикстуры они могут быть не совместимы с изменениями бд. как это разруливать правильно? каждый раз менять фиктуры после внесения изменений в бд ?

Pavel
18.07.2019
16:51:50
Да, фикстуры должны отражать самую свежую версию БД

вы же проверяете код который работает с новой бд а не со старой

Рома
18.07.2019
17:13:22
ребят, что делать после изучения синтаксиса php(с небольшой практикой для изучения самого синтаксиса) для wordpress/opencart?

Рома
18.07.2019
17:20:10
https://youtu.be/aCs42vWE8OE
спасибо большое

Pavel
18.07.2019
17:20:14
Там конечно немного реклама но сам видос мне показался полезным для новичков

Terminator
19.07.2019
05:36:03
@jack_manov будет жить. Поприветствуем!

Jack
19.07.2019
05:36:12
Thanks

Terminator
19.07.2019
09:56:03
@Sasha071201 будет жить. Поприветствуем!

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