За последние 24 часа нас посетили 22018 программистов и 1104 робота. Сейчас ищут 783 программиста ...

Превозмогания тред

Тема в разделе "PHP для новичков", создана пользователем ubunta2, 27 июн 2017.

  1. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    Warning: Missing argument 1 for Auto::__construct(), called in E:\OpenServer\domains\test.ru\index.php on line 47 and defined in E:\OpenServer\domains\test.ru\index.php on line 7

    Warning: Missing argument 2 for Auto::__construct(), called in E:\OpenServer\domains\test.ru\index.php on line 47 and defined in E:\OpenServer\domains\test.ru\index.php on line 7

    Fatal error: Call to undefined function move() in E:\OpenServer\domains\test.ru\index.php on line 50

    Код (Text):
    1. <?php
    2.     class Auto{
    3.    
    4.         protected $x;
    5.         protected $y;
    6.    
    7.         public function __construct($x, $y){
    8.             $this->x = $x;
    9.             $this->y = $y;
    10.         }
    11.        
    12.            public function move($x, $y){
    13.           $this->strMove($x, $y);
    14.         }
    15.          protected function strMove($x, $y, $type = ""){
    16.             if ($type = "") echo "Двигаем автомобиль из (".$this->x.";".$this->y.") в (".x.";".y.")<br/>";
    17.             else echo "Двигаем $type автомобиль из (".$this->x.";".$this->y.") в (".x.";".y.")<br/>";
    18.         }
    19.     }
    20.     class Car extends Auto {
    21.         public function __construct($x = 0, $y = 0){
    22.           parent::__construct($x, $y);
    23.         }
    24.         public function move($x, $y){
    25.           $this->strMove($x, $y, "легковой");
    26.         }
    27.     }
    28.     class Truck extends Auto {
    29.        
    30.         private $capacity;
    31.        
    32.         public function __construct($x = 0, $y = 0, $capacity = 500){
    33.           parent::__construct($x, $y);
    34.           $this->capacity = $capacity;
    35.  
    36.         }
    37.         public function move($x, $y){
    38.           $this->strMove($x, $y, "грузовой");
    39.         }
    40.     }
    41.        
    42.        
    43.        
    44.        
    45.        
    46.    
    47.     $auto = new Auto();
    48.     $car = new Car();
    49.     $truck = new Truck();
    50.     $auto = move(10,10);
    51.     $car = move(10,10);
    52.     $truck = move(10,10);
    53.  
    54. ?>
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    Код (Text):
    1. Предупреждение: Отсутствует аргумент 1 для Auto :: __ construct (), вызванный в E: \ OpenServer \ domains \ test.ru \ index.php в строке 47 и определен в E: \ OpenServer \ domains \ test.ru \ index.php on Строка 7
    2.  
    3. Предупреждение: Отсутствует аргумент 2 для Auto :: __ construct (), вызванный в E: \ OpenServer \ domains \ test.ru \ index.php в строке 47 и определен в E: \ OpenServer \ domains \ test.ru \ index.php on Строка 7
    4.  
    5. Неустранимая ошибка: вызов неопределенной функции move () в E: \ OpenServer \ domains \ test.ru \ index.php в строке 50
     
  3. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    и что нужно сделать
    --- Добавлено ---
    я читал и где эти аргументы нужны
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    @ubunta2 ты не знаешь что такое аргументы? Что такое Auto::__construct()?
     
  5. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    знаю
    --- Добавлено ---
    но не пойму что исправить
     
  6. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    Когда ты вызываешь метод Auto::__construct() ты ему не передаёшь всё обязательные аргументы.
    Тебе надо передать при вызове все обязательные аргументы
     
  7. Danil005

    Danil005 Активный пользователь

    С нами с:
    2 янв 2015
    Сообщения:
    528
    Симпатии:
    30
    Ты передавать должен, как простая функция:
    $auto= new Auto($var, $var);
    У тебя указаны два аргумента, так и используй два, или сделай иначе, если у тебя один из аргументов должен быть по умолчанию 0, то
    PHP:
    1. function __constructor($x, $y='0') {
    2.     //Тело конструктора.
    3. }
     
  8. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    $type
    этот еще?
     
  9. Danil005

    Danil005 Активный пользователь

    С нами с:
    2 янв 2015
    Сообщения:
    528
    Симпатии:
    30
    Что $type?
     
  10. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    [​IMG]
    --- Добавлено ---
    дело в этом аргументе?
     
  11. Danil005

    Danil005 Активный пользователь

    С нами с:
    2 янв 2015
    Сообщения:
    528
    Симпатии:
    30
    А что у тебя сейчас за ошибка?
    --- Добавлено ---
    Если ты про strMove, то тут с $type все нормально, ты присвоил по умолчание - пусто, там скорее та же проблема, зачем тебе в этой функции $x и $y?
     
  12. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    Warning: Missing argument 1 for Auto::__construct(), called in E:\OpenServer\domains\test.ru\index.php on line 47 and defined in E:\OpenServer\domains\test.ru\index.php on line 7

    Warning: Missing argument 2 for Auto::__construct(), called in E:\OpenServer\domains\test.ru\index.php on line 47 and defined in E:\OpenServer\domains\test.ru\index.php on line 7

    Fatal error: Call to undefined function move() in E:\OpenServer\domains\test.ru\index.php on line 50
    --- Добавлено ---
    координаты
    --- Добавлено ---
    Код (Text):
    1. <?php
    2.     class Auto{
    3.    
    4.         protected $x;
    5.         protected $y;
    6.    
    7.         public function __construct($x = 0, $y = 0){
    8.             $this->x = $x;
    9.             $this->y = $y;
    10.         }
    11.        
    12.            public function move($x, $y){
    13.           $this->strMove($x, $y);
    14.         }
    15.          protected function strMove($x, $y, $type = ""){
    16.             if ($type = "") echo "Двигаем автомобиль из (".$this->x.";".$this->y.") в (".x.";".y.")<br/>";
    17.             else echo "Двигаем $type автомобиль из (".$this->x.";".$this->y.") в (".x.";".y.")<br/>";
    18.         }
    19.     }
    20.     class Car extends Auto {
    21.         public function __construct($x = 0, $y = 0){
    22.           parent::__construct($x, $y);
    23.         }
    24.         public function move($x, $y){
    25.           $this->strMove($x, $y, "легковой");
    26.         }
    27.     }
    28.     class Truck extends Auto {
    29.        
    30.         private $capacity;
    31.        
    32.         public function __construct($x = 0, $y = 0, $capacity = 500){
    33.           parent::__construct($x, $y);
    34.           $this->capacity = $capacity;
    35.  
    36.         }
    37.         public function move($x, $y){
    38.           $this->strMove($x, $y, "грузовой");
    39.         }
    40.     }
    41.        
    42.        
    43.        
    44.        
    45.        
    46.    
    47.     $auto = new Auto();
    48.     $car = new Car();
    49.     $truck = new Truck();
    50.     $auto = move(10,10);
    51.     $car = move(10,10);
    52.     $truck = move(10,10);
    53.  
    54. ?>
    Fatal error: Call to undefined function move() in E:\OpenServer\domains\test.ru\index.php on line 50
     
  13. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    Код (Text):
    1. <?php
    2.     class Auto{
    3.    
    4.         protected $x;
    5.         protected $y;
    6.    
    7.         public function __construct($x = 0, $y = 0){
    8.             $this->x = $x;
    9.             $this->y = $y;
    10.         }
    11.        
    12.            public function move($x, $y){
    13.    $this->strMove($this->x, $this->y);        }
    14.          protected function strMove($x, $y, $type = ""){
    15.             if ($type = "") echo "Двигаем автомобиль из (".$this->x.";".$this->y.") в (".x.";".y.")<br/>";
    16.             else echo "Двигаем $type автомобиль из (".$this->x.";".$this->y.") в (".x.";".y.")<br/>";
    17.         }
    18.     }
    19.     class Car extends Auto {
    20.         public function __construct($x = 0, $y = 0){
    21.           parent::__construct($x, $y);
    22.         }
    23.         public function move($x, $y){
    24.           $this->strMove($x, $y, "легковой");
    25.         }
    26.     }
    27.     class Truck extends Auto {
    28.        
    29.         private $capacity;
    30.        
    31.         public function __construct($x = 0, $y = 0, $capacity = 500){
    32.           parent::__construct($x, $y);
    33.           $this->capacity = $capacity;
    34.  
    35.         }
    36.         public function move($x, $y){
    37.           $this->strMove($x, $y, "грузовой");
    38.         }
    39.     }
    40.        
    41.        
    42.        
    43.        
    44.        
    45.    
    46.     $auto = new Auto();
    47.     $car = new Car();
    48.     $truck = new Truck();
    49.     $auto = move(10,10);
    50.     $car = move(10,10);
    51.     $truck = move(10,10);
    52.  
    53. ?>
    теперь
    Fatal error: Call to undefined function move() in E:\OpenServer\domains\test.ru\index.php on line 49
    дальше тоже менять для легкового и грузового
     
  14. Danil005

    Danil005 Активный пользователь

    С нами с:
    2 янв 2015
    Сообщения:
    528
    Симпатии:
    30
    PHP:
    1. public function move($x, $y) {
    2.    $this->strMove($x,y);
    3. } //Зачем так делать?
    4. ////////////////////////////////////////////////////////
    5. // Вот такой:
    6. /////
    7. public function move() {
    8.    $this->strMove($this->x, $this->y);
    9. }
    10.  
    11. public function strMove($x, $y, $type='') {
    12.    if( empty($type) ) echo "Двигатель автомобиля из (".$x."; ".$y.")"; else echo "Двигаем ".$type." автомобиль из (".$x."; ".$y.")";
    13. }
    --- Добавлено ---
    А, вон что, код не показывало весь
    --- Добавлено ---
    А тебя здесь ничего не смущает? [
    PHP:
    1. <?
    2.     $auth=new Auto();
    3.     $car = new Car();
    4.     $truck = new Truck();
    5.     $auto=move(10,10);
    6.     $car=move(10,10);
    7.     $truck=move(10,10);
    8. ?>
    --- Добавлено ---
    $auto->move(10,10);
    $car->move(10,10);
    $truck->move(10,10);
    --- Добавлено ---
    Верни как есть, я не доглядел код первоначальный.
    --- Добавлено ---
    Была ошибка вообще не в класcе, а в объявлении функции.
     
  15. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    Нету функции move(), ты с чего решил её вызывать?
     
  16. Danil005

    Danil005 Активный пользователь

    С нами с:
    2 янв 2015
    Сообщения:
    528
    Симпатии:
    30
    Она у него есть, он просто вызывает ее не правильно...
    $auto->move(10,10);
    А он вызывает: $auto=move(10,10);
     
  17. Dilon

    Dilon Активный пользователь

    С нами с:
    4 май 2014
    Сообщения:
    119
    Симпатии:
    4
    Адрес:
    соседний двор
    Надо просто понять что такое функция, без ООП даже. Что такое аргументы функции.
     
  18. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    ошибка в коде
    Parse error: syntax error, unexpected 'protected' (T_PROTECTED) in E:\OpenServer\domains\test.ru\index.php on line 14
    PHP:
    1. <?php
    2.   class Auto{
    3.    
    4.   protected $x;
    5.   protected $y;
    6.    
    7.   public function __construct($x = 0, $y = 0){
    8.   $this->x = $x;
    9.   $this->y = $y;
    10.   }
    11.      
    12.       public function move($x, $y){
    13.   $this->strMove($x, $y);
    14.       protected function strMove($x, $y, $type = ""){
    15.   if ($type == "") echo "Двигаем автомобиль из (".$this->x.";".$this->y.") в (".x.";".y.")<br/>";
    16.        else echo "Двигаем $type автомобиль из (".$this->x.";".$this->y.") в (".x.";".y.")<br/>";
    17.   }
    18.    }
    19.    class Car extends Auto {
    20.      public function __construct($x = 0, $y = 0){
    21.   parent::__construct($x, $y);
    22.   }
    23.      public function move($x, $y){
    24.   $this->strMove($x, $y, "легковой");
    25.   }
    26.    }
    27.    class Truck extends Auto {
    28.      
    29.      private $capacity;
    30.      
    31.      public function __construct($x = 0, $y = 0, $capacity = 5000){
    32.   parent::__construct($x, $y);
    33.       $this->capacity = $capacity;
    34.  
    35.   }
    36.      public function move($x, $y){
    37.   $this->strMove($x, $y, "грузовой");
    38.   }
    39.    }
    40.      
    41.      
    42.      
    43.      
    44.      
    45.    
    46.   $auto = new Auto();
    47.    $car = new Car();
    48.    $truck = new Truck();
    49.   $auto->move(10,10);
    50.   $car->move(10,10);
    51.   $truck->move(10,10);
    52.  
    53. ?>
     
  19. Danil005

    Danil005 Активный пользователь

    С нами с:
    2 янв 2015
    Сообщения:
    528
    Симпатии:
    30
    Поменяй область видимости с proteced на public здесь:
    PHP:
    1. protected function strMove($x, $y, $type = ""){
     
  20. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    менял не помогло
     
  21. umbabaraumba

    umbabaraumba Новичок

    С нами с:
    18 июн 2017
    Сообщения:
    100
    Симпатии:
    17
    У класса Auto нет закрывающей фигурной скобки.
     
    denis01 нравится это.
  22. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    все получилось спасибо огромное
     
    denis01 и umbabaraumba нравится это.
  23. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    - открываем основной файл конфигурации SSH-сервера для редактирования (sshd_config)
    Код (Text):

    sudo nano /etc/ssh/sshd_config

    - корректировка sshd_config:
    * измененяем стандартный порт 22 на любой другой, к примеру 2222
    Код (Text):

    Port 2222
     
  24. umbabaraumba

    umbabaraumba Новичок

    С нами с:
    18 июн 2017
    Сообщения:
    100
    Симпатии:
    17
    Молодец.
     
  25. umbabaraumba

    umbabaraumba Новичок

    С нами с:
    18 июн 2017
    Сообщения:
    100
    Симпатии:
    17
    Слишком мало информации что бы понять что вы хотите сделать и что у вас не получается.