- sprintf: documentation ( source)
<?php
class Post {
const TABLE = 'posts';
const TYPE = 'post';
static public function all() {
$select = "SELECT * FROM `%s` WHERE `type` = '%s'\n";
echo sprintf($select, self::TABLE, self::TYPE);
}
}
Post::all();
class Comment extends Post {
const TYPE = 'comment';
}
Comment::all();
echo '====';
class PostA {
const TABLE = 'posts';
const TYPE = 'post';
static public function all() {
$select = "SELECT * FROM `%s` WHERE `type` = '%s'\n";
echo sprintf($select, static::TABLE, static::TYPE);
}
}
PostA::all();
// SELECT * FROM `posts` WHERE `type` = 'post'
class CommentA extends PostA {
const TYPE = 'comment';
}
CommentA::all();