Действительно ли возможно создать статические классы в PHP (как в C#)?

Вы уже используете вычисляемое свойство в столбцах. Используйте тот же путь для Пути.

Sort-Object -Property path | ft @{Name="Server";Expression={

Вы уже используете вычисляемое свойство в столбцах. Используйте тот же путь для Пути.

[110]

Но вы должны знать, что C:\MyPath! = C:\My Path. Чтобы использовать пути с пробелами, заключите их в " или '. > 'C:\My Path'
Чтобы заменить путь на путь в кавычках, вы можете использовать следующий код:

Sort-Object -Property path | ft @{Name="Server";Expression={

Вы уже используете вычисляемое свойство в столбцах. Используйте тот же путь для Пути.

[110]

Но вы должны знать, что C:\MyPath! = C:\My Path. Чтобы использовать пути с пробелами, заключите их в " или '. > 'C:\My Path'
Чтобы заменить путь на путь в кавычках, вы можете использовать следующий код:

[111]

Thx James C. для указания на использование .replace() вместо .trim(). Я забыл, что .trim() работает только с пробелами в начале и конце строки, а .replace() удаляет все пробелы.

.__Server}},@{Name="Path";Expression={"'

Вы уже используете вычисляемое свойство в столбцах. Используйте тот же путь для Пути.

[110]

Но вы должны знать, что C:\MyPath! = C:\My Path. Чтобы использовать пути с пробелами, заключите их в " или '. > 'C:\My Path'
Чтобы заменить путь на путь в кавычках, вы можете использовать следующий код:

[111]

Thx James C. для указания на использование .replace() вместо .trim(). Я забыл, что .trim() работает только с пробелами в начале и конце строки, а .replace() удаляет все пробелы.

.Path'"}},Name -autosize

Thx James C. для указания на использование .replace() вместо .trim(). Я забыл, что .trim() работает только с пробелами в начале и конце строки, а .replace() удаляет все пробелы.

.__Server}},@{Name="Path";Expression={

Вы уже используете вычисляемое свойство в столбцах. Используйте тот же путь для Пути.

[110]

Но вы должны знать, что C:\MyPath! = C:\My Path. Чтобы использовать пути с пробелами, заключите их в " или '. > 'C:\My Path'
Чтобы заменить путь на путь в кавычках, вы можете использовать следующий код:

Sort-Object -Property path | ft @{Name="Server";Expression={

Вы уже используете вычисляемое свойство в столбцах. Используйте тот же путь для Пути.

[110]

Но вы должны знать, что C:\MyPath! = C:\My Path. Чтобы использовать пути с пробелами, заключите их в " или '. > 'C:\My Path'
Чтобы заменить путь на путь в кавычках, вы можете использовать следующий код:

[111]

Thx James C. для указания на использование .replace() вместо .trim(). Я забыл, что .trim() работает только с пробелами в начале и конце строки, а .replace() удаляет все пробелы.

.__Server}},@{Name="Path";Expression={"'

Вы уже используете вычисляемое свойство в столбцах. Используйте тот же путь для Пути.

[110]

Но вы должны знать, что C:\MyPath! = C:\My Path. Чтобы использовать пути с пробелами, заключите их в " или '. > 'C:\My Path'
Чтобы заменить путь на путь в кавычках, вы можете использовать следующий код:

[111]

Thx James C. для указания на использование .replace() вместо .trim(). Я забыл, что .trim() работает только с пробелами в начале и конце строки, а .replace() удаляет все пробелы.

.Path'"}},Name -autosize

Thx James C. для указания на использование .replace() вместо .trim(). Я забыл, что .trim() работает только с пробелами в начале и конце строки, а .replace() удаляет все пробелы.

.Path.replace(" ","")}},Name -autosize

Но вы должны знать, что C:\MyPath! = C:\My Path. Чтобы использовать пути с пробелами, заключите их в " или '. > 'C:\My Path'
Чтобы заменить путь на путь в кавычках, вы можете использовать следующий код:

Sort-Object -Property path | ft @{Name="Server";Expression={

Вы уже используете вычисляемое свойство в столбцах. Используйте тот же путь для Пути.

[110]

Но вы должны знать, что C:\MyPath! = C:\My Path. Чтобы использовать пути с пробелами, заключите их в " или '. > 'C:\My Path'
Чтобы заменить путь на путь в кавычках, вы можете использовать следующий код:

[111]

Thx James C. для указания на использование .replace() вместо .trim(). Я забыл, что .trim() работает только с пробелами в начале и конце строки, а .replace() удаляет все пробелы.

.__Server}},@{Name="Path";Expression={"'

Вы уже используете вычисляемое свойство в столбцах. Используйте тот же путь для Пути.

[110]

Но вы должны знать, что C:\MyPath! = C:\My Path. Чтобы использовать пути с пробелами, заключите их в " или '. > 'C:\My Path'
Чтобы заменить путь на путь в кавычках, вы можете использовать следующий код:

[111]

Thx James C. для указания на использование .replace() вместо .trim(). Я забыл, что .trim() работает только с пробелами в начале и конце строки, а .replace() удаляет все пробелы.

.Path'"}},Name -autosize

Thx James C. для указания на использование .replace() вместо .trim(). Я забыл, что .trim() работает только с пробелами в начале и конце строки, а .replace() удаляет все пробелы.

135
задан aleemb 22 January 2009 в 10:30
поделиться

3 ответа

У Вас могут быть статические классы в PHP, но они не вызывают конструктора автоматически (при попытке звонить self::__construct() Вы получите ошибку).

Поэтому необходимо было бы создать initialize() функция и вызов это в каждом методе:

<?php

class Hello
{
    private static $greeting = 'Hello';
    private static $initialized = false;

    private static function initialize()
    {
        if (self::$initialized)
            return;

        self::$greeting .= ' There!';
        self::$initialized = true;
    }

    public static function greet()
    {
        self::initialize();
        echo self::$greeting;
    }
}

Hello::greet(); // Hello There!


?>
195
ответ дан 23 November 2019 в 23:45
поделиться

у Вас могут быть "статичные" - как классы. но я предполагаю, который пропускает что-то действительно важное: в php у Вас нет цикла приложения, таким образом, Вы не получите реальные помехи (или одиночный элемент) в Вашем целом приложении...

посмотрите Singleton в PHP

24
ответ дан 23 November 2019 в 23:45
поделиться
final Class B{

    static $staticVar;
    static function getA(){
        self::$staticVar = New A;
    }
}

структура b называется обработчиком синглтона, вы также можете сделать это в

Class a{
    static $instance;
    static function getA(...){
        if(!isset(self::$staticVar)){
            self::$staticVar = New A(...);
        }
        return self::$staticVar;
    }
}

это использование синглтона $a = a::getA(...);

4
ответ дан 23 November 2019 в 23:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: