@phpclubru

Страница 929 из 956
Grigoriy
20.06.2019
10:50:51
к примеру, если исользуется монга - то записи лучше помечать, а удалять в фоне
ага, то есть вариант сразу сносить отпадает. если очень хочется снос лучше стрелять событием а дальше подхватывать воркером очереди, а если захардкодить снос из одной базы то при расширении боль, принято

если много обращений к апи, данные важны - то тоже лучше помечать
2) по синтаксису? делал таким образом [ 0 => false, 1, 2 => false, 3 => [...fullrecord] ]; или я сломаю себе голову если буду так делать?

3) для таблиц связок вышесказанное актуально? или там нуллы проставляешь, а softdeletes не использовать?

Google
Алексей
20.06.2019
10:53:23
пока у тебя объект запроса передается непонятной структуры, которая постояно меняется - у теюя будет болеть голова

3) для таблиц связок вышесказанное актуально? или там нуллы проставляешь, а softdeletes не использовать?
критичность данных. нагрузка при удалении записи, связанные с удаленим заиси действия периодичность удаления

Алексей
20.06.2019
10:56:08
тогда херачь связи сразу

Grigoriy
20.06.2019
10:56:11
пока у тебя объект запроса передается непонятной структуры, которая постояно меняется - у теюя будет болеть голова
насчет непонятной структуры - в апишке яндекса они там делали типо в поле для связи можно вкинуть дочернюю модель, при наследовании валидаций это возможно вот думаю как еще это делают

Алексей
20.06.2019
10:57:26
опиши dto и пользуй... тебе и фронт будет благодарен и себе голову не сломаешь

как ты его опишешь - не так важно, как заранее известная стуктура

к примеру {0: [], 1:[], 2:[], 3:[1,2,3,4,5,6]}

если получаешь другую структуру - вываливаешь error

Grigoriy
20.06.2019
11:00:48
опиши dto и пользуй... тебе и фронт будет благодарен и себе голову не сломаешь
можно посмотреть у тебя про эти dto? из того что я понял из книг это маппер - берет массив, делает из него нужный набор входящих данных по сеттерам. вот я пишу сеттер и пытаюсь понять как он должен работать по уму

Алексей
20.06.2019
11:01:10
data tranfer object

просто штука, для того чтобы передовать данные

Grigoriy
20.06.2019
11:01:30
ну да. обьект в котором на вход конструктора валится один массив, который заполняет проперти

Google
Алексей
20.06.2019
11:01:34
его ценность это структура

Grigoriy
20.06.2019
11:01:37
у меня ActiveRecord это DTO...

Алексей
20.06.2019
11:01:51
ещ в нем же можно сделать валидацию

Grigoriy
20.06.2019
11:02:04
да, именно так я и делаю в точности

мне интересна реализация синтаксиса для загрузки связей. если его сделать так [ 0 => false // отвязать все 1, // добавить id = 1 "1", // добавить code = "1" 1 => false // отвязать id = 1 [ id: 1, name: 2 ] // создать и затем привязать ] я уткнусь в то что это нереально?

Grigoriy
20.06.2019
11:13:00
А header('Location:...') это тоже 301 редирект?
это он родной и есть. опасность редиректов в том, что проблемы нет, а она есть

Serhii
20.06.2019
11:13:54
так HTTP_REFERER через .htaсcess
А, я просто через $_SERVER['REQUEST_URI'] сделал, т.к. в htaccess еще менее силен, чем в php)

Grigoriy
20.06.2019
11:14:01
А header('Location:...') это тоже 301 редирект?
редиректы можно юзать в двух случаях - перенаправление юзера на нужный тебе язык, и возврат с поста на гет, если у тебя верстка сделана пхп и форму отсылаешь обычным POST запросом

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

альтернативой редиректа еще является hreflang - предполагается что тогда поисковик узнает что твой сайт на разных языках например. но я когда делал разницы не особо было

Serhii
20.06.2019
11:18:10
это он родной и есть. опасность редиректов в том, что проблемы нет, а она есть
Да, меня именно влияние на сео и смущает, так бы юрл с параметрами оставил и не заморачивался.. У меня сейчас в итоге получилось, что любой юрл кроме того "красивого" который я хочу редиректит на 404 страницу, это лучше я так понял?

Grigoriy
20.06.2019
11:21:29
ты заходишь на страницу и страница имеет конструкцию http_response_code(404);

а не header('Location: /error404.html')

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

это вот бред

Google
Serhii
20.06.2019
11:24:12
А чтобы выдавало кастомную 404 страницу вместо стандартного 404 браузера можно сделать так? http_response_code(404); include('../404.html'); die();

Denis
20.06.2019
11:30:26
народ немного по жс но все же ,как разбить строку value1=value2 что бы отдельно получить ключ и значение?

Serhii
20.06.2019
11:32:02
split() пробовал?

Denis
20.06.2019
11:35:54
да

просто кажесть много лишнего делаю

single=Single2&multiple=Multiple2&check=check1&check=check2&radio=radio2 вот строку такого типа в JSON как превратить

просто сначала ее сплит

Serhii
20.06.2019
11:37:08
404 это не редирект должен быть
О, еще вопрос, а если у меня страница доступна по юрлу https://qwe.com/about-us , а по https://qwe.com/about-us/ выдает 404 это не плохо? Просто поисковику может и норм, а если человек введет about-us/ и получит 404 то подумает, что вообще такой страницы нет

Denis
20.06.2019
11:37:09
потом каждый элемент масива?

)

Алексей
20.06.2019
11:37:27
Serhii
20.06.2019
11:37:58
Это пхп, но в джс замени explode на сплит)

А вообще чтобы в джсон провератить там есть stringify или json_encode, погугли про оба, не помню точно

Алексей
20.06.2019
11:39:22
single=Single2&multiple=Multiple2&check=check1&check=check2&radio=radio2 вот строку такого типа в JSON как превратить
ес6 'single=Single2&multiple=Multiple2&check=check1&check=check2&radio=radio2'.split('&').reduce((acc,item)=>{ const v=item.split('='); return {...acc, [v[0]]:v[1]}; }, {})

Denis
20.06.2019
11:46:35
ну примерно так и делал)спасибо да так рабоатет,просто думал может есть встроенное что-то

Grigoriy
20.06.2019
11:59:22
О, еще вопрос, а если у меня страница доступна по юрлу https://qwe.com/about-us , а по https://qwe.com/about-us/ выдает 404 это не плохо? Просто поисковику может и норм, а если человек введет about-us/ и получит 404 то подумает, что вообще такой страницы нет
это отлично. она так и должна выдавать или с чертой или без черты. но не в обоих случаях. возвращаясь к вышесказанному - две страницы продвигать или одну. плюс к тому же дубль контента получаешь пинка

О, еще вопрос, а если у меня страница доступна по юрлу https://qwe.com/about-us , а по https://qwe.com/about-us/ выдает 404 это не плохо? Просто поисковику может и норм, а если человек введет about-us/ и получит 404 то подумает, что вообще такой страницы нет
пс человек не зайдет на page/ потому что на сайте нет таких ссылок. и в гугле их не будет. это нам программистам кажется что они браузерной строкой пользуюстя

О, еще вопрос, а если у меня страница доступна по юрлу https://qwe.com/about-us , а по https://qwe.com/about-us/ выдает 404 это не плохо? Просто поисковику может и норм, а если человек введет about-us/ и получит 404 то подумает, что вообще такой страницы нет
другой вопрос если у тебя нет функции build_url() и верстальщик пишет ссылки руками. тогда есть вероятность что он напишет со слешом и тогда будет печально

Serhii
20.06.2019
12:03:00
Понял, спасибо большое

Google
Denis
20.06.2019
12:10:58
ля а че decodeUri все нормально преобразовывает кроме запятой запятая всеранво остается %2C

decodeURIComponent решилась проблема

но причина не ясна

Alex
20.06.2019
13:37:54
Ребят, глупый вопрос, но с пхп никогда не работал, а за полчаса не нагуглил. Нужно коннекты к БД брать из переменных окружения, написал так <?php $db_host=getenv('DB_HOST'); $db_name=getenv('DB_NAME'); $db_user=getenv('DB_USER'); $db_password=getenv('DB_PASSWORD'); return array( 'connectionString' => 'mysql:host=$db_host;dbname=$db_name', 'username' => $db_user, 'password' => $db_password, ); но чет не работает. Что я делаю не так?

Alex
20.06.2019
13:42:34
CDbConnection failed to open the DB connection.

Pavel
20.06.2019
13:47:23
Сначала сдампи строку подключения, убедись что она правильная, проверь юзер пароль, если все ок то надо подробнее логи изучать

Alex
20.06.2019
13:53:35
да, дампил, из консольки под этими креденшеналами логинит

Pavel
20.06.2019
13:58:45
CDbConnection failed to open the DB connection.
У этого исключения должна быть еще строка с деталями, код ошибки и тд.

Alex
20.06.2019
14:01:30
включил дисплей эррорс, ща посмотрим

Alex
20.06.2019
14:03:43
Именно с точкой в .$ ?

no1
20.06.2019
14:04:40
Alina
20.06.2019
14:05:47
так там одинарные кавычки

замените на двойные и будет вам щастье

"mysql:host=$db_host;dbname=$db_name"

Alex
20.06.2019
14:14:05
так там одинарные кавычки
Спасибо большое, то, что надо!

Denis
20.06.2019
20:05:38
Js+php

Ну и бд какаянить

Google
Denis
20.06.2019
20:06:06
Проще всего mysql

Anatoliy
20.06.2019
20:06:06
sql

ddl

dsl

компиляторы и структуры данных

Артём
20.06.2019
20:09:35
Не слушай, учи js и реактивный дж

Anatoliy
20.06.2019
20:10:21
reactJS

Denis
20.06.2019
20:15:35
В свое время со сцециалиста Борисова начинал на Ютубе есть,после него хватает что угодно освоить

Php специалист там 4 уровня

Неошибешся

Запись не оч но то как он объясняет нечто

))

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