печать командной строки php в объекте не возвращается - PullRequest
1 голос
/ 27 мая 2011

Я пытаюсь запустить какой-нибудь php из командной строки, но php в моем классе не ударил.

<?php
print "1";
try {
    print ",2";
    $a = new myClass("");
}
catch (Exception $e) {
    print $e->getMessage();
}
print ",3";

myClass

<?php

class myClass{

    function __construct($var) {
        print "My Class";
    }
}

Вывод, который я получаю::

1,2

Process finished with exit code 255

Почему печать в конструкторе не выводится в командную строку?

Ответы [ 3 ]

1 голос
/ 27 мая 2011

вы должны делать $a = new Checkout();, так как это имя вашего класса, даже если оно есть в файле с именем myclass.php, вероятно. Вы должны были получить следующую ошибку:

1
PHP Fatal error:  Class 'myClass' not found in somefile.php on line whateverlineitwas
PHP Stack trace:
,2
PHP   1. {main}() /Users/cdaley/Sites/PHP-1.php:0

Вы также не получаете 3 из-за сбоя и выхода из кода, странно, что вы не видите ошибки. PS, он выбрасывает фатальную ошибку, а не исключение, почему он не уловил ее.

Вот код, который я запускаю из командной строки:

<?php
class myClass {

    function __construct($var) {
        print "My Class";
    }
}
    print "1";
try {
    print ",2";
    $a = new myClass("");
}
catch (Exception $e) {
    print $e->getMessage();
}
print ",3";

?>
0 голосов
/ 27 мая 2011

Существующий статус 255 является фатальной ошибкой.Вы должны попробовать установить error_reporting в E_ALL

error_reporting(E_ALL)

, чтобы убедиться, что ошибки не маскируются.Это должно помочь вам определить виновника.

0 голосов
/ 27 мая 2011

Вам необходимо включить файл

include `myClass.php';

Путь может отличаться в зависимости от вашей файловой структуры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...