PHP.SU

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

Страниц (1): [1]

> Найдено сообщений: 6
shubaivan Отправлено: 10 Ноября, 2014 - 15:44:18 • Тема: FacebookProvider • Форум: Тестирование

Ответов: 0
Просмотров: 3344
https://github[dot]com/shubaivan/Che[dot][dot][dot]bookProvider.php
как написать тест для функции setUserData, она возвращет $user. Нада проверить что данные из респонса перекладываются в юзера, наверное тут мок используется?
shubaivan Отправлено: 05 Ноября, 2014 - 16:48:27 • Тема: twig в mvc • Форум: Объектно-ориентированное программирование

Ответов: 1
Просмотров: 960
Есть классы которые наслудуются от абстрактного, задание было создать на их основе mvc с применением шаблонизаторов. что то получилось но надо еще отловить вариант когда вводят что то не то и ответом на этот запрос было error404.html.twig, вот как я пытался это сделать https://github[dot]com/shubaivan/mvc[dot][dot][dot]c/mvc/Kernel.php поместил try cacth в hendle но не могу рендерить так как нет переменнной twig. Как с этим твиг работать не пойму..
shubaivan Отправлено: 23 Октября, 2014 - 23:01:11 • Тема: OOP • Форум: Объектно-ориентированное программирование

Ответов: 7
Просмотров: 1748
OrmaJever пишет:
shubaivan пишет:
Как правильно использовать волшебные методы __get и __set в этом примере?

они не для данного примера. У них немного другое применение.

ок. Другой вопрос, если создать еще один класс наследник, для такого же вывода данных, в нем надо будет применять тоже __construct чтоб их собрать, его как то можно поместить в класс родителя, раз он применяется в обеих классах наследниках ?
(Добавление)
нашел
function __construct() {
parent::__construct();
shubaivan Отправлено: 23 Октября, 2014 - 22:31:44 • Тема: OOP • Форум: Объектно-ориентированное программирование

Ответов: 7
Просмотров: 1748
OrmaJever пишет:
shubaivan пишет:
Что я не правильно делаю ?

вы реально не понимаете в чём проблема? Однако
Иногда люди очень удивляют, не зная банальных основ им уже нужно в классах разбираться. Зачем вы взяли вызовы методов в кавычки? Где вы это вычитали? Почему так?
Должно быть так
PHP:
скопировать код в буфер обмена
  1. return sprintf('This %s is %.3f %d',$this->getBrand(), $this->getWeight(), $this->getSpeedNumber());

спасибо.
(Добавление)
Как правильно использовать волшебные методы __get и __set в этом примере?
shubaivan Отправлено: 23 Октября, 2014 - 21:34:32 • Тема: OOP • Форум: Объектно-ориентированное программирование

Ответов: 7
Просмотров: 1748
В конструкторе LeaderFox поменял на set методы, и через Debug запустил, все равно приходит null вместо параметров
(Добавление)
OrmaJever пишет:
shubaivan пишет:
PHP:
скопировать код в буфер обмена
  1. return sprintf('This %s is %.3f %d',"{$this->getBrand()}", "{$this->getWeight()}", "{$this->getSpeedNumber()}");

2, 3 и 4 параметры шикарны Хм


%s - string
%.3f c - тип double три знака после запятой
%d - целое число
Что я не правильно делаю ?
(Добавление)
нашел: __constructor ===> __construct
у меня мало опыта, буду внимательней. И тут еще $ убрал
PHP:
скопировать код в буфер обмена
  1.  
  2. public function setSpeedNumber($speedNumber)
  3.     {
  4.         $this->speedNumber = $speedNumber;
  5.     }
  6.  

Осталься вопрос по применению sprintf как правильно ?
shubaivan Отправлено: 23 Октября, 2014 - 20:57:56 • Тема: OOP • Форум: Объектно-ориентированное программирование

Ответов: 7
Просмотров: 1748
есть абстрактный класс
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. /**
  4.  * Created by PhpStorm.
  5.  * User: ivan
  6.  * Date: 22.10.14
  7.  * Time: 11:55
  8.  */
  9. /*Абстрактный класс Abstractbicycle в котором есть переменные: фирма, вес, количество скоростей. Велосипед может катиться и остановиться */
  10. /* В абстрактном классе Abstractbicycle есть абстрактный метод show()*/
  11.  
  12.  
  13.  
  14. abstract class AbstractBicycle
  15. {
  16.     public $brand;
  17.     public $weight;
  18.     public $speedNumber;
  19.  
  20.     abstract public function show();
  21.  
  22.     /*================Set Values==================*/
  23.  
  24.     public function setBrand($brand)
  25.     {
  26.         $this->brand = $brand;
  27.     }
  28.  
  29.     public function setWeight($weight)
  30.     {
  31.         $this->weight = $weight;
  32.     }
  33.  
  34.     public function setSpeedNumber($speedNumber)
  35.     {
  36.         $this->$speedNumber = $speedNumber;
  37.     }
  38.  
  39.     /*================Get Values===================*/
  40.  
  41.     public function getBrand()
  42.     {
  43.         return $this->brand;
  44.     }
  45.  
  46.     public function getWeight()
  47.     {
  48.         return $this->weight;
  49.     }
  50.  
  51.     public function getSpeedNumber()
  52.     {
  53.         return $this->speedNumber;
  54.     }
  55.  
  56.     public function roll()
  57.     {
  58.         return 'rolling';
  59.     }
  60.  
  61.     public function brake()
  62.     {
  63.         return 'brake';
  64.     }
  65.  
  66. }
  67.  
  68.  

есть наследник
PHP:
скопировать код в буфер обмена
  1.  
  2. class LeaderFox extends AbstractBicycle
  3. {
  4.     public function __constructor($brand, $weight, $speedNumber)
  5.     {
  6.         $this->getBrand($brand);
  7.         $this->getWeight($weight);
  8.         $this->getSpeedNumber($speedNumber);
  9.     }
  10.     public function show()
  11.     {
  12.         return sprintf('This %s is %.3f %d',"{$this->getBrand()}", "{$this->getWeight()}", "{$this->getSpeedNumber()}");
  13.     }
  14. }
  15.  

и есть исполняемый файл
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. require_once 'AbstractBicycle.php';
  4. require_once 'LeaderFox.php';
  5.  
  6. $LeaderFox = new LeaderFox('LeaderFox','9.5','14');
  7. echo $LeaderFox->show().'<br>';
  8.  

но почему то при создание объекта класса и последующему вызову функции show() выводит такой результат:
This is 0.000 0<br>
а должен
This LeaderFox is 9.5000 14
Почему не передаються параметры?

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB