__construct()
был бы только назван, если бы Вы назвали его из метода для класса, содержащего частного конструктора. Таким образом для Вашей Singleton, у Вас мог бы быть метод как так:
class DBConnection
{
private static $Connection = null;
public static function getConnection()
{
if(!isset(self::$Connection))
{
self::$Connection = new DBConnection();
}
return self::$Connection;
}
private function __construct()
{
}
}
$dbConnection = DBConnection::getConnection();
причина, Вы в состоянии/, хочет инстанцировать класса из себя, то, так, чтобы можно было проверить, чтобы удостовериться, что только один экземпляр существует в любой момент времени. Это - смысл Singleton, в конце концов. Используя Singleton для соединения с базой данных гарантирует, что Ваше приложение не делает тонну из соединений с БД за один раз.
<час>Редактирование: Добавленный $, как предложено @emanuele-del-grande
Вы можете сделать это довольно просто в PowerShell:
ls *.jpg | Foreach -Begin {$i=1} `
-Process {Rename-Item $_ -NewName ("Picture{0:00000000}.jpg" -f $i++) -whatif}
Если вы ищете «базовое имя» и , если вы используете PowerShell 2.0, просто используйте базовое имя свойство, которое PowerShell добавляет к каждому объекту FileInfo:
ls *.jpg | Format-Table Basename
Обратите внимание, что в PowerShell 1.0 Расширения сообщества PowerShell добавляют то же свойство Basename.
Если намерение состоит в том, чтобы добавить строку счетчика к базовому имени файла во время операции переименования попробуйте следующее:
ls *.jpg | Foreach {$i=1} `
{Rename-Item $_ -NewName ("$($_.Basename){0:00000000#}.jpg" -f $i++) -whatif}
Попробуйте это, чтобы получить FilenameWithOutExtension
$ f.DirectoryName + "\" + $ f.BaseName