@phpgeeks

Страница 635 из 8430
?
19.08.2016
08:51:04
парент для крайней нужды

Sergey
19.08.2016
08:51:05
class foo { var $x; function foofoo() { $this->x = "foofoo"; return; } } class bar extends foo { // we have var $x; from the parent already here. function barbar() { parent::foofoo(); echo $this->x; } }

Sergey
19.08.2016
08:51:14
не будет, но я не смогу написать свой method1 в классах B и во всех наследуемых

?
19.08.2016
08:51:21
если в тот же самый метод предка сходить нада

Google
?
19.08.2016
08:51:36
а кстати

если в B стоит парент::метод2

Sergey
19.08.2016
08:51:54
т.е. твой код не соответствует open closed

Sergey
19.08.2016
08:51:54
не будет, но я не смогу написать свой method1 в классах B и во всех наследуемых
сможешь, но в объектах В будет использовать Method1 из А

?
19.08.2016
08:52:03
и B дальше унаследовать в C

Sergey
19.08.2016
08:52:11
хм

?
19.08.2016
08:52:15
то куда парент ссылаться будет?

Sergey
19.08.2016
08:52:19
SOLID

вторая буква

Sergey
19.08.2016
08:52:24
я знаю

просто не понимаю где несоответствие

я не изменяю родительский класс

Google
Никто ??
19.08.2016
08:52:48
А что если self::method() юзать

Sergey
19.08.2016
08:52:49
но использую метод из него

?
19.08.2016
08:53:06
ы

а вот и статик

Sergey
19.08.2016
08:53:14
я расширил родительский класс А классом В

Sergey
19.08.2016
08:54:02
если я буду использовать твой класс, и захочу переопределить метод method1, то это ничего не даст при вызове method2

мне придется скопипастить твой код и method2 и заменить там вызов на $this

Sergey
19.08.2016
08:54:47
чувствую что соль в твоих словах, но с ходу не получается допедрить

Sergey
19.08.2016
08:55:23
class C extends B { public function method1 {// тут моя магия} }

N
19.08.2016
08:55:29
Салют. Пытаюсь завести трактор, (денвер) с PHP 5.6 для YII ругается на отсутствие msvcr110.dll

Sergey
19.08.2016
08:55:40
старый класс ты не менял пока

где Начнется говно с изменением?

Sergey
19.08.2016
08:56:26
я не могу менять старый класс, это твой код, который лежит к примеру на гитхабе

Sergey
19.08.2016
08:56:44
я не могу менять старый класс, это твой код, который лежит к примеру на гитхабе
Да, я понимаю что не можешь - это будет нарушением солид

Sergey
19.08.2016
08:56:49
и у нас по проекту везде идет прием класса B и вызов у него метода method2

parent::method1 можешь использовать только если будеш уверен что никому никогда не понадобится переопределять method1

Aleh
19.08.2016
08:58:49
/** * Рекурсивная замена * * В голову пришли две возможные проблемы: * 1. Если исходная строка будет вида aaa bbb ccc, а массив соответствий будет вида array("aaa"=>"bbb", "bbb"=>"aaa") * Решением этой проблемы стал массив $hash в котором я храню все хеши строк и если во время рекурсии хеш повторился - * значит мы попали в бесконечную рекурсию и нужно вернуть строку, закончив выполнение функции * * 2. Если исходная строка будет вида aaa bbb ccc, а массив соответствий будет вида array("aaa"=>"aaa111") * В этом случае хеши нам не помогут, т.к. строка aaa будет сначала заменена на ааа111, потом на ааа111111, потом на ааа111111111 и * каждый раз хеш будет разный, но решение есть! Я проверяю вхождение старой подстроки(ааа) в новую подстроку(ааа111), и * если вхождения есть, то я считаю кол-во вхождений в основной текст как старой подстроки, так и новой. Далее есть два варианта: * a) кол-во вхождеий старой подстроки и новой отличаются, тогда все новые подстроки я заменяю старыми * б) кол-во вхождение и старой и новой подстроки равны, тогда я пропускаю замену */ $recursive_replacer = function($content, array $hash = array()) use($replace_matching, &$recursive_replacer) { $hash[] = md5($content); $counter = 0; foreach ($replace_matching as $search => $replace) { $replace_flag = true; $one_phrase_counter = 0; if (strstr($replace, $search) !== false) { $clear_count = substr_count($content, $search); $replace_count = substr_count($content, $replace); if ($replace_count > 0 && $replace_count != $clear_count) { $content = str_replace($replace, $search, $content, $one_phrase_counter); } elseif ($replace_count == $clear_count) { $replace_flag = false; } } if ($replace_flag === true) { $content = str_replace($search, $replace, $content, $one_phrase_counter); $counter = $counter + $one_phrase_counter; } } if ($counter == 0 || in_array(md5($content), $hash)) { return $content; } return $recursive_replacer($content, $hash); }; return $recursive_replacer($this->page_content, array()); }
$replace_matching = [ "aa" => "cd", "c" => "1a", "d" => "a2" ]; echo $recursive_replacer("aa", []);

Sergey
19.08.2016
08:59:22
Google
Aleh
19.08.2016
08:59:31
он уходит в бесконечную рекурсию)

Sergey
19.08.2016
08:59:39
блять )))

всё было зря )

?
19.08.2016
08:59:50
чё

зачем это

F01134H
19.08.2016
09:00:30
всё было зря )
только не это

Aleh
19.08.2016
09:01:13
вообще там норм идея, я поспал и могу думать, до начала замены вычисляем количество вхождения заменяемой подстроки, после проведения всех замен также вычисляем вхождение заменяемой подстроки и если оно не стало меньше, то мы в рекурсии

только это надо делать для каждого from на каждом этапе замены

F01134H
19.08.2016
09:01:48
забудь про denwer, пользуй vagrant
забудь про vagrant, используй docker

Владимир
19.08.2016
09:02:04
забудь про винду, используй мак или линукс)

F01134H
19.08.2016
09:02:07
+

Sergey
19.08.2016
09:02:15
почему забыть? вполне можно использовать вместе

F01134H
19.08.2016
09:02:30
Никто ??
19.08.2016
09:02:32
Забудь про докер, юзай перфокарты

?
19.08.2016
09:02:41
что подразумевается под рекурсивной заменой?

F01134H
19.08.2016
09:02:48
Артур Евгеньевич
19.08.2016
09:03:50
Салют. Пытаюсь завести трактор, (денвер) с PHP 5.6 для YII ругается на отсутствие msvcr110.dll
на самом деле из того что посоветовали, если ты под виндой сидишь то vagrant если он слишком сложен то openserver - лучше не найдешь

Google
F01134H
19.08.2016
09:04:38
Мне кажется ему просто сервер нужен настроенный и всё

советую xampp

?
19.08.2016
09:04:52
@pronin86 куку

Sergey
19.08.2016
09:05:13
?
19.08.2016
09:05:13
что подразумевается под рекурсивной заменой?

Sergey
19.08.2016
09:05:38
что подразумевается под рекурсивной заменой?
заменили все в тексте и проверяем, не нужно ли снова что-нибудь заменить

Admin
ERROR: S client not available

N
19.08.2016
09:05:45
на самом деле из того что посоветовали, если ты под виндой сидишь то vagrant если он слишком сложен то openserver - лучше не найдешь
Так-то у меня среда разработки на удалённой машине в *лин, тут на выходных понадобились скрипты, а дома win ноут и интернеты тупят.

Артур Евгеньевич
19.08.2016
09:05:47
ага только он там идет как hyper-v а не через virtual box

Sergey
19.08.2016
09:05:48
и так пока не поймем, что ничего больше не надо заменять

?
19.08.2016
09:05:53
хм

Артур Евгеньевич
19.08.2016
09:06:00
я как прочитал сразу слил эту идею

?
19.08.2016
09:06:01
а какова была задача?

Артур Евгеньевич
19.08.2016
09:06:05
даже разбираться не стал

Sergey
19.08.2016
09:07:49
пойду поем и подумаю

Владимир
19.08.2016
09:19:53
Так-то у меня среда разработки на удалённой машине в *лин, тут на выходных понадобились скрипты, а дома win ноут и интернеты тупят.
Так ведь о том и речь, что docker удобней (если от винды никак не отказаться, то docker + vagrant). В большинстве случаев не нужны будут эти dev-сервера.

(;¬_¬)
19.08.2016
09:23:33
советую xampp
open-server же сейчас рулит

Firdavs
19.08.2016
09:24:24
F01134H
19.08.2016
09:28:08
советую open-server

Google
Евгений
19.08.2016
09:31:02
F01134H
19.08.2016
09:31:27
?

(;¬_¬)
19.08.2016
09:35:58
?

советую open-server
главное быть в тренде и вовремя перестраиваться? =)

F01134H
19.08.2016
09:43:11
ну да)

Aleksandr
19.08.2016
09:50:50
Call to a member function detach() on a non-object in /Applications/MAMP/htdocs/system/library/PHPExcel/Classes/PHPExcel/CachedObjectStorage/PHPTemp.php on line 61

лыжи не едут )

щас дам ссылку на файлик

https://github.com/iamdevice/opencart-spsr-integration/blob/master/admin/controller/shipping/spsr.php

в частности не догоняю как теперь работать с диапазонами данных в XLS

и почему он ругается на кеш

Eugene
19.08.2016
09:55:45
+

+

(;¬_¬)
19.08.2016
10:17:18
Call to a member function detach() on a non-object in /Applications/MAMP/htdocs/system/library/PHPExcel/Classes/PHPExcel/CachedObjectStorage/PHPTemp.php on line 61
а выше по течению где ошибка лежит? потому что из этой строки можно сделать вывод только о том, что _почему-то_ у тебя не выбрана активная ячейка

Aleksandr
19.08.2016
10:17:56
Сейчас гляну

Sergey
19.08.2016
10:20:00
парни

я понял

арифметическая прогрессия и её свойства

что такое арифметическая прогрессия? - это ряд числе, которые соответствуют вот этому условию

An = A1+d(n-1)

Страница 635 из 8430