PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (17): [1] 2 3 4 5 6 7 8 9 ... » В конец

> Найдено сообщений: 253
Anguis Отправлено: 15 Января, 2019 - 15:39:09 • Тема: Не понятная ошибка • Форум: Объектно-ориентированное программирование

Ответов: 7
Просмотров: 2038
А я уж было подумал переписать класс на синглтон. объявить методы не статическими и в __CallStatic создавать/возвращать экземпляр и выполнять его метод. Только переписывать нужно не один класс..

Зашел на bugs.php.net через проксю. Роскомнадзор невзлюбил девелоперов? Но коль скоро будет исправление, думаю писать тудой уже нет смысла. А было собрался.

Короче СЛОВЕД Радость
Anguis Отправлено: 15 Января, 2019 - 14:26:37 • Тема: Не понятная ошибка • Форум: Объектно-ориентированное программирование

Ответов: 7
Просмотров: 2038
Потрясающе! То то я все мануалы перерыл и ни малейшего упоминания о таком чудесном поведении не сыскал!
P.S. bugs.php.net походу не работает Недовольство, огорчение Эх, жаль конечно, но по всей видимости пых переживает не лучшие времена... Переживет ли?.
Anguis Отправлено: 15 Января, 2019 - 13:59:21 • Тема: Не понятная ошибка • Форум: Объектно-ориентированное программирование

Ответов: 7
Просмотров: 2038
Мелкий, очень интересно! А что это такое? Где я упустил такое поведение. почему раньше работало? Вообще ни чего не понимаю! Вывод то идет array(1) {}
Т.е. как бы он видит что один аргумент присутствует, но вот самого аргумента нет.
Прошу пните в мануал!
Anguis Отправлено: 15 Января, 2019 - 13:26:14 • Тема: Не понятная ошибка • Форум: Объектно-ориентированное программирование

Ответов: 7
Просмотров: 2038
Всем привет.
После обновления (не знаю точно с какой версии) до php 7.3.0 появилась ошибка. Всю голову сломал откуда она и почем до обновления все отлично работало.
есть простенький класс, для конвертации валют:
PHP:
скопировать код в буфер обмена
  1.  
  2. class currency{
  3.  
  4.   static $curr;
  5.   private static function get($q){
  6.     return self::$curr->$q;
  7.   }
  8.  
  9.   private static function to($n,$c){
  10.     return $n * self::$curr->$c;
  11.   }
  12.  
  13.   private static function from($n){
  14.     return round($n / self::$curr->{$_COOKIE['curr']},2);
  15.   }
  16.  
  17.   private static function get_rate($c){
  18.     return self::$curr->$c;
  19.   }
  20.  
  21.  
  22.  
  23.   static function __callStatic($modname,$args){
  24.     self::$curr = (object)['RUB'=>1,'USD'=>67,'EUR'=>77];
  25.     return call_user_func_array([__CLASS__ , $modname],$args);
  26.   }
  27. }
  28.  
  29. var_dump(currency::from(16));
  30.  

Этот код вызывает ошибку:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. Fatal error: Uncaught ArgumentCountError: Too few arguments to function currency::from(), 0 passed
  3.  

При этом вот так все прекрасно работает:
PHP:
скопировать код в буфер обмена
  1.  
  2.  static function __callStatic($modname,$args){
  3.     self::$curr = (object)['RUB'=>1,'USD'=>67,'EUR'=>77];
  4.     $a=[16];
  5.     var_dump($a == $args); // TRUE
  6.     return call_user_func_array([__CLASS__ , $modname],$a);
  7.   }
  8.  

WTF?? Не понял
А еще интересно что манипуляции типа такого, тоже приводят к той же ошибке!
PHP:
скопировать код в буфер обмена
  1.  
  2. static function __callStatic($modname,$args){
  3.     self::$curr = (object)['RUB'=>1,'USD'=>67,'EUR'=>77];
  4.     $a=array_values($args);// не помогает
  5.     foreach($args as $arg){$a[]=$arg;}// тоже самое
  6.     return call_user_func_array([__CLASS__ , $modname],$a);
  7.   }
  8.  


Что самое интересное, есть похожий код в другом классе где та же самая конструкция call_user_func_array([__CLASS__ , $modname],$args); прекрасно работает!

Помогите кто чем может, уже третий час долблюсь - ни фига не понимаю!
Anguis Отправлено: 14 Марта, 2018 - 10:15:24 • Тема: Не устанавливаются coockie! • Форум: JavaScript & VBScript

Ответов: 2
Просмотров: 453
Мелкий. Так я и думал, придется хакать)
(Добавление)
Таксь, чуть порыскав тему я понял что область видимости кук ограничена доменом, его установившим. и деректива domain служит лишь для управления поддоменами. Верно? И куку надо ставить только с того домена, которому направлен запрос. Ну как с пикселями всякими.. Жаль, очень хотелось скриптом поставить
Anguis Отправлено: 14 Марта, 2018 - 09:05:33 • Тема: Не устанавливаются coockie! • Форум: JavaScript & VBScript

Ответов: 2
Просмотров: 453
Всем привет. Подскажите что за фигня, не могу поставить куку javascript-ом. Нужно для счетчика на javascript сделать.

Домен - excample.com

Пытаюсь на нем поставить куку с доступом для домена another.com - не ставится, для excample.com ставится. Иными кодами:

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.    var d = new Date();
  3.     d.setTime(d.getTime() + (60 * 1000));
  4.     var expires = "expires="+d.toUTCString();
  5.     document.cookie = "test1=without_domian;" + expires + ";path=/";// - работает. устанавливает куку с доступом для excample.com, соответственно с домена another.com она не доступна
  6.     document.cookie = "test2=with_domian;" + expires + ";path=/;domain=another.com";// - не работает. кука вообще не ставится
  7.  


WTF? Не понял
Anguis Отправлено: 18 Ноября, 2016 - 22:08:54 • Тема: Проверка конфигурации • Форум: Операционная система и системные вызовы

Ответов: 7
Просмотров: 3461
Сам разобрался..
Anguis Отправлено: 18 Ноября, 2016 - 08:40:52 • Тема: Проверка конфигурации • Форум: Операционная система и системные вызовы

Ответов: 7
Просмотров: 3461
3d_killer пишет:
зачем интересно наваливать то, что не используется?

Если бы не использовалось, я бы не заморачивался!

А можно без демагогии!?!? Сколько раз уже, обратишься с конкретной проблемой, а вместо помощи в решении тебя убеждают что ты индюк! Уже вообще ни малейшего желания писать на форум нет.
Anguis Отправлено: 17 Ноября, 2016 - 22:15:35 • Тема: Проверка конфигурации • Форум: Операционная система и системные вызовы

Ответов: 7
Просмотров: 3461
3d_killer пишет:
смогу конечно
(Добавление)
только вот в чем вопрос зачем вам проверка тех модулей? просто для красоты типо круто?, если бы вы их использовали у себя то вероятно бы знали как проверить есть то или иной модуль чтобы им воспользоваться

Я знаю как проверить. Тупо exec может проверить все что надо. Но я полагаю, что есть метод красивее.
Использование тривиально wget - скачиваем архивчик, zip или tar - распаковываем его.

Я вот восьмой друпал ковыряю, но че та пока не могу найти среди этого невероятного леса либ и модулей именно то что мне нужно. Джумлу тож ковырял - та же фигня. Надо наверно че попроще взять, типа симплы..
Если бы я знал конкретно в какой из них есть именно то что мне нужно..
(Добавление)
И таки да, это круто и красиво. И это 50% моего желания, а почему бы нет?
Anguis Отправлено: 17 Ноября, 2016 - 20:33:54 • Тема: Проверка конфигурации • Форум: Операционная система и системные вызовы

Ответов: 7
Просмотров: 3461
3d_killer Да ты гений! И как я сам не додумался то!?
А теперь возьми какой нибудь друпал и найди в нем тот самый кусок кода. Смогешь?
Anguis Отправлено: 16 Ноября, 2016 - 22:28:03 • Тема: Проверка конфигурации • Форум: Операционная система и системные вызовы

Ответов: 7
Просмотров: 3461
Доброго!
В некоторых CMS (сейчас не вспомню в каких конкретно) перед установкой CMS на сервер происходит проверка системных требований.
Хочу такую же темку замутить для своего сайтеца. Так вот вопрос в следующем. Если проверить версию системы, пхп и его расширений не составляет труда с помощью штатных функций uname и php_version, то со специфическими пакетами, такими как tar, zip и wget такая тема не канает. Ну собсно в этом и вопрос - можно ли проверить наличие или отсутствие определенных пакетов в системе?

Ну и еще, я бы с удовольствием поглядел на реализацию такой проверки из какой-нть CMS. Или может у кого есть готовый скриптик, поглядеть что там да как?
Anguis Отправлено: 22 Сентября, 2016 - 21:32:20 • Тема: DRUPAL переделка корзины • Форум: CMS и фреймворки

Ответов: 0
Просмотров: 513
Ребята. Есть ктор разрабатывал на этой срани?
Нужно переделать вывод корзины. С помощью views не получается. Нужно кодом. Куда копать? hook_cart_display не дает нужного.
Отзавитесь плиз хоть кто-нибудь кто сталкивался с друпалом. Жопа уже 2 недели сижу с корзиной этой
Anguis Отправлено: 29 Июля, 2016 - 11:47:25 • Тема: Наследование. Перегрузка методов с разным количеством параметров • Форум: Объектно-ориентированное программирование

Ответов: 4
Просмотров: 1848
У меня вот тоже как раз возник вопросик по поводу соблюдения контракта. Есть простой базовый класс, реализующий простенький функционал, позволяющий загружать в себя другие объекты и массивы.
PHP:
скопировать код в буфер обмена
  1.  
  2. class standart{
  3.   function __construct($obj=false){
  4.    
  5.    
  6.     if(gettype($obj)=='array'||gettype($obj)=='object'){
  7.      
  8.       foreach($obj as $var => $val){
  9.         if(gettype($val)=='array'||gettype($val)=='object'){
  10.           $this->$var = new standart($val);
  11.         }else{
  12.           $this->$var = $val;
  13.         }
  14.       }
  15.      
  16.     }
  17.   }
  18.   public function __set($name,$param){
  19.     $this->$name=$param;
  20.   }
  21. }
  22. ?>
  23.  


Ессно, все его методы public. Но если мне нужно сделать наследуемый класс - синглтон, имеющий функционал родителя, но с private конструктором, то у меня это не выйдет :
CODE (htmlphp):
скопировать код в буфер обмена
  1. Fatal error: Access level to page::__construct() must be public (as in class standart)


Собственно вопрос в следующем - как правильно поступить в такой ситуации. Переносить код методов из одного класса в другой? Не очень красиво.. Оставить public у синглтона? Тогда это уже не синглтон.

З.Ы. ну и вообще не очень понятно почему если с паблика перегружаешь в приват то это запрещено. Здесь же как бы уровень безопасности возрастает. Вот наоборот да. С привата в паблик - согласен не есть гуд..
Anguis Отправлено: 02 Марта, 2016 - 06:43:22 • Тема: PHP разработчик на удалённую работу • Форум: Работа

Ответов: 4
Просмотров: 1350
LIME, я живу в провинции Радость
Я бы поработал. Можно обсудить условия.
Anguis Отправлено: 01 Марта, 2016 - 17:42:56 • Тема: PHP разработчик на удалённую работу • Форум: Работа

Ответов: 4
Просмотров: 1350
mmolike, 30 000 Ха-ха ну совсем не серьезно.


LIME, что, много работы ?

Страниц (17): [1] 2 3 4 5 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB