
?
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

?
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

Sergey
19.08.2016
09:00:33

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

F01134H
19.08.2016
09:01:48

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

F01134H
19.08.2016
09:02:07
+

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

Sergey
19.08.2016
09:02:27

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

Sergey
19.08.2016
09:02:57

Артур Евгеньевич
19.08.2016
09:03:50

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
что подразумевается под рекурсивной заменой?

Bulat
19.08.2016
09:05:29

Sergey
19.08.2016
09:05:38

Admin
ERROR: S client not available

N
19.08.2016
09:05:45

Артур Евгеньевич
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

(;¬_¬)
19.08.2016
09:23:33

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
?

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

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

Sergey
19.08.2016
10:20:00
парни
я понял
арифметическая прогрессия и её свойства
что такое арифметическая прогрессия? - это ряд числе, которые соответствуют вот этому условию
An = A1+d(n-1)