本文整理匯總了PHP中sf函數的典型用法代碼示例。如果您正苦於以下問題:PHP sf函數的具體用法?PHP sf怎麽用?PHP sf使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了sf函數的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: runController
private static function runController($url)
{
bu::lib(sf('%s_application', $url->getBinType()));
$class_name = sf('%sApplication', ucfirst($url->getBinType()));
$app = new $class_name();
$app->runController($url);
}
示例2: get_sitemap_booklist
function get_sitemap_booklist()
{
global $database;
$cate1 = $database->clear_param()->select(array('id', 'title'), 'cate1')->fetch();
foreach ($cate1 as $data1) {
$this->sitemap[] = ['/' . sf($data1['title'], 0) . '.' . $data1['id'], 'weekly', '0.80'];
$id_list = [];
$cate2 = $database->clear_param()->select(array('id', 'title'), 'cate2')->where(array('id1' => array('=', $data1['id'])))->fetch();
foreach ($cate2 as $data2) {
$this->sitemap[] = ['/' . sf($data1['title'], 0) . '/' . sf($data2['title'], 0) . '.' . $data2['id'], 'weekly', '0.80'];
$id_list[] = $data2['id'];
$num2 = $database->clear_param()->select(array('id'), 'book')->where(['cid' => ['=', $data2['id']]])->num_rows();
$page2 = ceil($num2 / 12);
if ($page2 > 1) {
for ($i2 = 1; $i2 <= $page2; $i2++) {
$this->sitemap[] = ['/' . sf($data1['title'], 0) . '/' . sf($data2['title'], 0) . '.' . $data2['id'] . '/trang-' . $i2, 'weekly', '0.80'];
}
}
}
$num = $database->clear_param()->select(array('id'), 'book')->where(['cid' => ['IN', $id_list]])->num_rows();
$page = ceil($num / 12);
if ($page > 1) {
for ($i = 1; $i <= $page; $i++) {
$this->sitemap[] = ['/' . sf($data1['title'], 0) . '.' . $data1['id'] . '/trang-' . $i, 'weekly', '0.80'];
}
}
}
}
示例3: renderElement
function renderElement()
{
$date = $this->getValue();
$minValue = is_array($date) && array_key_exists('min', $date) ? $date['min'] : null;
$maxValue = is_array($date) && array_key_exists('max', $date) ? $date['max'] : null;
$minOptions = sfl("<option value='' >Any</option>");
for ($i = $this->ageMin; $i <= $this->ageMax; $i++) {
// TODO: Bug here days don't always return the correct number of days...
if ($minValue == $i) {
$minOptions .= sfl("<option value='%s' selected='selected'>%s</option>", $i, $i);
} else {
$minOptions .= sfl("<option value='%s'>%s</option>", $i, $i);
}
}
$maxOptions = sfl("<option value='' >Any</option>");
for ($i = $this->ageMin; $i <= $this->ageMax; $i++) {
// TODO: Bug here days don't always return the correct number of days...
if ($maxValue == $i) {
$maxOptions .= sfl("<option value='%s' selected='selected'>%s</option>", $i, $i);
} else {
$maxOptions .= sfl("<option value='%s'>%s</option>", $i, $i);
}
}
$out = sfl("<select name='%s[min]' id='form_%s' %s class='inputAgeRange inputAgeRangeMin' >%s</select>", $this->getName(), $this->getName(), $this->tabindex ? sf('tabindex="%s"', $this->tabindex) : '', $minOptions);
$out .= sfl("<span class='inputAgeRangeSeparator'>%s</span> <select name='%s[max]' id='form_%s' %s class='inputAgeRange inputAgeRangeMax' >%s</select>", $this->separator, $this->getName(), $this->getName(), $this->tabindex ? sf('tabindex="%s"', $this->tabindex) : '', $maxOptions);
return $out;
}
示例4: validate
public function validate($arr)
{
if (empty($arr)) {
return true;
}
$empty = true;
foreach ($arr as $item) {
if (!empty($item)) {
$empty = false;
break;
}
}
if ($empty) {
return true;
}
if (!is_array($arr)) {
throw new Exception($this->errorMessage);
}
foreach ($this->requiredFields as $key => $value) {
if (strlen($arr[$value]) > $this->maxChars) {
throw new Exception(sf("You have entered: '<em>%s</em>' this is over the allowed %s characters.", $arr[$value], $this->maxChars));
}
}
/*
if(empty($data) || strlen($data) < $this->maxChars)
return true;
else
throw new Exception(sf("You must enter less than %s characters",
$this->maxChars
));
*/
}
示例5: render
public function render($options = array())
{
$out = $this->preRender();
$out .= sf("%s", $this->html);
$out .= $this->postRender();
return $out;
}
示例6: getInstructions
public function getInstructions($contentType)
{
switch ($contentType) {
default:
case 'text/plain':
return sf('--Description\\nYou need to use the $this->setView() method within your function.\\n
--Example Code\\n
public function %s() {
$this->setView(string $ViewClassName);
/* ... put your controller code here ... */
}\\n', $this->method);
break;
case 'text/html':
return sf('<h4>Description</h4><p>You need to use the $this->setView() method within your function.</p>
<h4>Example Code</h4>
<pre class="code">
public function %s() {
$this->setView(<strong>string <em>$ViewClassName</em></strong>);
/* ... put your controller code here ... */
}
</pre>', $this->method);
break;
}
}
示例7: text
/**
* Casts a variable into a MySql text
* @param string $in String to be casted
* @return string Casted string
*/
static function text($in)
{
if (!is_string($in)) {
throw new caster_StrictTypeException('Expected String, received: ' . $in . ' (' . gettype($in) . ')');
}
return sf("%s", $in);
}
示例8: renderElement
function renderElement()
{
$address = $this->getValue();
if (!is_array($address)) {
$address = array();
}
if (!array_key_exists('address1', $address)) {
$address['address1'] = null;
}
if (!array_key_exists('address2', $address)) {
$address['address2'] = null;
}
if (!array_key_exists('postcode', $address)) {
$address['postcode'] = null;
}
if (!array_key_exists('town', $address)) {
$address['town'] = null;
}
/*
* The rendering of this element is SO messy due to IE compatibility - needs rewriting
*
*/
$out = sf("<div style='float:left;'><input type='text' name='%s[address1]' value='%s' %s id='form_%s' class='inputUkAddress inputUkAddress1' /><br />", $this->getName(), parent::makeInputSafe($address['address1']), $this->tabindex ? sf('tabindex="%s"', $this->tabindex) : '', $this->getName());
$out .= sf("<input type='text' name='%s[address2]' value='%s' %s id='form_%s' class='text' class='inputUkAddress inputUkAddress2' /><br />", $this->getName(), parent::makeInputSafe($address['address2']), $this->tabindex ? sf('tabindex="%s"', $this->tabindex) : '', $this->getName());
$out .= sf("</div><div style='clear:both;'><label for='form_%s'>%s</label>", $this->getName(), "Post Code");
$out .= sfl("<table style='border:0px; border-spacing:0px;.' cellpadding=0 cellspacing=0><tr><td style=''><input type='text' name='%s[postcode]' value='%s' %s id='form_%s' class='postCode' class='inputUkAddress inputUkAddressPostCode' />", $this->getName(), parent::makeInputSafe($address['postcode']), $this->tabindex ? sf('tabindex="%s"', $this->tabindex) : '', $this->getName());
$out .= sfl("</td><td class='tRight'><label class='town'>Town</label></td><td><input type='text' name='%s[town]' value='%s' %s id='form_%s' class='town' class='inputUkAddress inputUkAddressTown' /></td></tr></table></div>", $this->getName(), parent::makeInputSafe($address['town']), $this->tabindex ? sf('tabindex="%s"', $this->tabindex) : '', $this->getName());
return $out;
}
示例9: validate
public function validate($data)
{
// test if the host supports finfo
try {
$supportsFinfo = class_exists('finfo');
} catch (loader_ClassNotFoundException $e) {
$supportsFinfo = false;
}
if ($data == '') {
return true;
// if finfo class exists then use that for mime validation
} elseif ($supportsFinfo && $data['tmp_name']) {
$finfo = new finfo(FILEINFO_MIME);
$mime = $finfo->file($data['tmp_name']);
if (strpos($mime, ';')) {
$mime = substr($mime, 0, strpos($mime, ';'));
}
if (in_array($mime, $this->mimeTypes)) {
return true;
}
$incorrectExtensionArr = $this->getExtensionFromMime($mime);
// reply on the browsers mime type : not always present & secruity vunrebility
} elseif (isset($data['type'])) {
if (in_array($data['type'], $this->mimeTypes)) {
return true;
}
$incorrectExtensionArr = $this->getExtensionFromMime($data['type']);
}
throw new ValidationIncorrectFileTypeException(sf('File should be a valid %s%s', $this->extensionText, count($incorrectExtensionArr) ? sf(' (not a %s)', implode('/', $incorrectExtensionArr)) : ''));
}
示例10: connect
/**
* PostgreSql Connect function, config options are:
*
* host : The hostname on which the database server resides
* port : The port number where the database server is listening
* dbname : The name of the database
* username : The name of the user for the connection
* password : The password of the user for the connection
*
* @param $config array An array of settings
*/
public function connect($config = array())
{
// Build the vender connection string
$conString = sf('pgsql:%s%s%s', isset($config['host']) ? sf(' host=%s', $config['host']) : '', isset($config['port']) ? sf(' port=%s', $config['port']) : '', isset($config['dbname']) ? sf(' dbname=%s', $config['dbname']) : '');
// Call the base connection function
$this->connectReal($conString, $config);
}
示例11: getInstructions
public function getInstructions($contentType)
{
switch ($contentType) {
default:
case 'text/plain':
return sf('--Description\\nThe view class you specified could not be found. Please make sure you have named the class name the same as the filename and the class folder is loaded using Atsumi\'s load method.\\n
--Example basic HTML view\\n
/*Save this as <strong>%s.php</strong> within a folder within classes/. Make sure you load the directory using Atsumi::load(); */
class %s extends mvc_HtmlView {
public function renderBodyContent() {
/* ... put view code here ... */
}
}\\n', $this->viewName, $this->viewName);
break;
case 'text/html':
return sf('<h4>Description</h4><p>The view class you specified could not be found. Please make sure you have named the class name the same as the filename and the class folder is loaded using Atsumi\'s load method.</p>
<h4>Example basic HTML view</h4>
<pre class="code">
/*Save this as <strong>%s.php</strong> within a folder within classes/. Make sure you load the directory using Atsumi::load(); */
class %s extends mvc_HtmlView {
public function renderBodyContent() {
/* ... put view code here ... */
}
}
</pre>', $this->viewName, $this->viewName);
break;
}
}
示例12: renderElement
function renderElement()
{
$optionHtml = "";
$elementValue = $this->getValue();
if (!$this->defaultValue && $this->blankMessage) {
$optionHtml .= sfl("<option value='' >%s</option>", $this->blankMessage);
} elseif ($this->defaultValue) {
// TODO: put this in a func...
foreach ($this->defaultValue as $value => $option) {
if (strval($elementValue) == strval($value)) {
$optionHtml .= sfl("<option value='%s' selected='selected'>%s</option>", $value, $option);
} else {
$optionHtml .= sfl("<option value='%s'>%s</option>", $value, $option);
}
}
}
foreach ($this->options as $value => $option) {
if (strval($elementValue) == strval($value)) {
$optionHtml .= sfl("<option value='%s' selected='selected'>%s</option>", $value, $option);
} else {
$optionHtml .= sfl("<option value='%s'>%s</option>", $value, $option);
}
}
return sfl("<select name='%s' %s id='form_%s' class='inputSelect'>%s</select>", $this->getName(), $this->tabindex ? sf('tabindex="%s"', $this->tabindex) : '', $this->getName(), $optionHtml);
}
示例13: renderElement
function renderElement()
{
$name = $this->getValue();
if (!is_array($name)) {
$name = array();
}
if (!array_key_exists('title', $name)) {
$name['title'] = null;
}
if (!array_key_exists('firstName', $name)) {
$name['firstName'] = null;
}
if (!array_key_exists('lastName', $name)) {
$name['lastName'] = null;
}
$titleOptions = sfl("<option value='' >Title</option>");
foreach ($this->titles as $title => $data) {
if ($name['title'] == $title) {
$titleOptions .= sfl("<option value='%s' selected='selected'>%s</option>", parent::makeInputSafe($title), $data['text']);
} else {
$titleOptions .= sfl("<option value='%s'>%s</option>", parent::makeInputSafe($title), $data['text']);
}
}
$out = sfl("<select name='%s[title]' %s id='form_%s' class='inputName inputNameTitle' >%s</select>", $this->getName(), $this->tabindex ? sf('tabindex="%s"', $this->tabindex) : '', $this->getName(), $titleOptions);
$out .= sfl("<input type='text' name='%s[firstName]' value='%s' %s id='form_%s' class='inputName inputNameFirst' class='text' />", $this->getName(), parent::makeInputSafe($name['firstName']), $this->tabindex ? sf('tabindex="%s"', $this->tabindex) : '', $this->getName());
$out .= sfl("<input type='text' name='%s[lastName]' value='%s' %s id='form_%s' class='inputName inputNameLast' class='text' />", $this->getName(), parent::makeInputSafe($name['lastName']), $this->tabindex ? sf('tabindex="%s"', $this->tabindex) : '', $this->getName());
return $out;
}
示例14: validate
public function validate($data)
{
if (empty($data) || str_word_count($data) <= $this->maxWords) {
return true;
} else {
throw new Exception(sf("You must enter %s words or less.", $this->maxWords));
}
}
示例15: validate
public function validate($data)
{
if (empty($data) || str_word_count($data) >= $this->minWords) {
return true;
} else {
throw new Exception(sf("You must enter %s or more words", $this->minWords));
}
}