目前我有帖子的表,每个帖子都有一个id.
暂时只存在一个帖子,id为id = 92.
如果我执行以下代码,我将得到不错,但发布id = 92:
$post = NewsPost::findFirst(['id' => 1]);
var_dump($post->id); // gives 92
Run Code Online (Sandbox Code Playgroud)
似乎是非常奇怪的逻辑..什么方法可以用来通过id检索post,如果没有这样的实体,那将返回false/throw异常?
是否可以在cli应用程序中使用phalcon来处理带有argv参数的请求?我想使用argv参数来理解应该执行的命令,例如
./script.php robot/create --color=red --feature=weapon
并以这种方式在控制器,操作等应用程序中获取此内容:
控制器:机器人动作:创建GET参数:颜色=红色,特征=武器
是否可以使用CLI类
Phalcon\ClI\Dispatcher http://docs.phalconphp.com/en/latest/api/Phalcon_CLI_Dispatcher.html
Phalcon\CLI\Console http://docs.phalconphp.com/en/latest/api/Phalcon_CLI_Console.html
Phalcon\CLI\Task http://docs.phalconphp.com/en/latest/api/Phalcon_CLI_Task.html
和其他类似的?
没有文档和操作手册......也许有人有经验或只是一个想法.我知道我们必须定义DI并初始化应用程序,但是如何以更原生的方式实现这一点我只是没有任何想法.
还有一个问题:phalcon可以自动处理argv参数吗?
据我了解,我们应该启动Phalcon\CLI\Console对象作为应用程序并传递给它DI.但整个过程/场景......我只是无法得到它:)
根据http://www.php.net/manual/en/reserved.variables.globals.php:
一个关联数组,包含对当前在脚本全局范围内定义的所有变量的引用.
因此,下面的代码必须显示$ GLOBALS var _SERVER,_ENV(如果在php.ini中的variables_order中启用它)和_REQUEST键:
var_dump($GLOBALS);
Run Code Online (Sandbox Code Playgroud)
结果是:
_SERVER,_ENV,_REQUEST_ENV,_REQUEST嗯..也许在这个行为的文档中有smth?我查看了每个变量的每个页面:
_SERVER:http://www.php.net/manual/en/reserved.variables.server.php_ENV:http://www.php.net/manual/en/reserved.variables.request.php_REQUEST:http://www.php.net/manual/en/reserved.variables.request.php我没有发现过这种行为.它为什么这样?
我已经使用http://www.dotdeb.org/ repo的debian软件包安装了php (没有手动编译)...目前运行的是nginx + php5-fpm.这是一个php bug吗?
我需要回放json对象,它具有带有渲染动作的属性'html'.是否有可能与Phalcon本地人一起做?
例:
$posts = NewsPost::find(['limit' => 10]);
$view = new Phalcon\Mvc\View();
$view->setVar('posts', $posts);
$view->setMainView('news/posts'); // not sure if this is correct
// retrieve some data ...
$response = [
'html' => $view->render(),
'somedata' => 'somevalues',
....
];
Run Code Online (Sandbox Code Playgroud)
有关phalcon php框架的PS问题:http://docs.phalconphp.com/en/latest/api/Phalcon_Mvc_View.html
因为我知道区号 - 是地区电话代码,对吗?那么地铁代码栏的用途是什么?
多年来,我所有的 php 脚本都使用无 BOM 的 UTF8 编码,并且它们工作得很好。今天我发现有一个核心指令名为zend.multibyte,默认情况下它为零(禁用)。
那么,如果它不影响脚本解析......它到底会影响什么?
我的网站上有三个按钮,链接到facebook,twitter和vk.com页面.我想打开本机应用程序,如果它安装在用户设备上.否则,我想要打开url后备.
首先,我尝试使用deep-link.js插件直接使用本机应用程序方案.但是,当我尝试打开本机应用程序URL方案时,当未安装本机应用程序时,Safari显示错误,但最后打开了URL回退页面.默认的android浏览器说他不知道如何处理这样的url方案:
<a class="btn btn-primary" href="https://www.facebook.com/warpcompany" data-app-ios="fb://profile/838619192839881" data-app-android="fb://page/838619192839881">Facebook</a>Run Code Online (Sandbox Code Playgroud)
然后我尝试使用App Links"标准",这是从Facebook有这么多的促销.我甚至试图使用他们的托管应用程序链接,以确保我已经正确地生成了一切.它不起作用,它总是重定向到网站后备.您可以自己轻松测试它:https://fb.me/746134728830806
那么,是否有可能在网站上提供深层链接,这将至少在默认的os浏览器中打开本机应用程序而不会出错,或者默默地回退到url?
老实说,我试图解决这个问题几天没有工作结果/例子.也许你可以提供至少工作的例子/网站.
提前致谢.
如果我尝试使用beforeCreate()方法中定义的date_created字段保存模型,则不会保存它:
class TestEntity extends Phalcon\Mvc\Model
{
public function beforeCreate()
{
$this->date_created = date('Y-m-d H:i:s');
}
/**
* Returns source table name
* @return string
*/
public function getSource()
{
return 'test_entity';
}
}
Run Code Online (Sandbox Code Playgroud)
控制器动作上下文
$test = new TestEntity();
$test->name = 'test';
var_dump($contact->save()); // gives false
var_dump($contact->getMessages()); // says date_created is not defined
Run Code Online (Sandbox Code Playgroud) 例子:
from multiprocessing.dummy import Pool as ThreadPool
def testfunc(string):
print string
def main():
strings = ['one', 'two', 'three', ...]
pool = ThreadPool(10)
results = pool.map(testfunc, strings)
pool.close()
pool.join()
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud)
这不会给我们提供清晰的结果,一行中只有一个结果:
one
two
three
Run Code Online (Sandbox Code Playgroud)
但是网格,有随机的换行符,比如
one
two
three
four
five
...
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况?我可以在每次函数调用时使用一个换行符输出数据吗?
PS 有时我什至没有换行符甚至空格!PPS在windows下工作
我想要默认的 http 错误代码 500。
我不能覆盖构造函数(我找到了一些关于它的文档,但编译器说There is no method in an ancestor class to be overridden: "constructor HttpError.Create(const AnsiString);)
我试图添加Default 500到状态属性定义,但它也不起作用(我看到 0)。
500默认情况下,我如何为状态实现价值?
{$IFDEF FPC}
{$MODE DELPHI}
{$ENDIF}
program test;
uses
SysUtils;
Type
{:Base http exception}
HttpError = class(Exception)
private
FStatus: Integer;
published
property Status: Integer Read FStatus Write FStatus Default 500;
end;
begin
try
Raise HttpError.Create('Ooops');
except
on e: HttpError do
WriteLn(e.Status);
end;
end.
Run Code Online (Sandbox Code Playgroud)