我非常喜欢这个strtotime()功能,但是用户手册没有提供支持的日期格式的完整描述.strtotime('dd/mm/YYYY')不起作用,它只适用于mm/dd/YYYY格式.
如果我有dd/mm/YYYY格式化日期,我该如何将其转换为YYYY-mm-dd?我可以通过使用explode()函数来实现,但我认为有更好的解决方案.
我锁定了IP地址.
这是否意味着用户只能使用相同的IP地址登录?或者用户是否会注销并且必须重新登录才能获得新会话?
if (isset($_SESSION['last_ip']) === false) {
$_SESSION['last_ip'] = $_SERVER['REMOTE_ADDR'];
}
if ($_SESSION['last_ip'] != $_SERVER['REMOTE_ADDR']){
session_unset();
session_destroy();
}
Run Code Online (Sandbox Code Playgroud) 我身边让我的头DI和IoC; 现在使用疙瘩.假设我在执行流程的早期定义了IoC
$container = new Injection\Container();
$container['config'] = function ($c) {
return new Config($c['loader']);
};
$container['request'] = function ($c) {
return new Request($c['config']);
};
...
Run Code Online (Sandbox Code Playgroud)
和一个路由器类 call_user_func_array
//$class = 'Dog', $method = 'woof', $this->args = ['foo', 'bar']
call_user_func_array(array(new $class, $method), $this->args);
Run Code Online (Sandbox Code Playgroud)
所以新对象在没有意识到的情况下被实例化,IoC但我仍然希望重用一些定义的服务.
class Dog
{
public function woof($var1, $var2)
{
//$request = IoC service here
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:
IoC到类的正确方法(静态似乎是邪恶的...)或阅读一些不错的文章,但无法弄清楚
我这样做的邪恶方式是定义另一个保存IoC …
我使用ZendFramework2和Doctrine来启动我的项目.我的CPU显示httpd请求的高使用率.我启用opcache了文件缓存和memcacheDoctrine.
知道为什么它的平均负载可能接近5.0吗?我把ZendFramework2 放在die('test1')里面onBootstrap一次,而另一次放在我die('test')之前.
die('test2')
Zend\Mvc\Application::init(require 'config/application.config.php')->run();
Run Code Online (Sandbox Code Playgroud)
我的Apache工作台显示,当框架加载时没有任何连接到数据库或转到任何控制器它的速度要慢5倍.为什么zf2表现得像这样,什么可能是一个可能的解决方案来规范它的行为?
[问题更新]
我用Xdebug和Webgrind进行了分析,发现像bootstrap这样的进程占很高的比例
(Application\Module-> onBootstrap)
在bootstrap我有这行代码
//...
$eventManager->attach(MvcEvent::EVENT_ROUTE, function($e) use ($blacklistForNormalUser, $auth) {
$match = $e->getRouteMatch();
// No route match, this is a 404
if (!$match instanceof RouteMatch) {
return;
}
// Route is whitelisted
$name = $match->getMatchedRouteName();
if (!in_array($name, $blacklistForNormalUser) ) {
return;
}
// User is authenticated
if ($auth->hasIdentity() ) {
return;
}
// Redirect to the user login page, …Run Code Online (Sandbox Code Playgroud) 最近搬到了php7.发生以下错误:
argument 1 passed to MyClass\Throwable::exceptionHandler() must be an instance of Exception, instance of Error given
Run Code Online (Sandbox Code Playgroud)
和各自的班级
namespace MyClass;
class Throwable
{
public function exceptionHandler(\Exception $exception)
{
//logic here
}
}
Run Code Online (Sandbox Code Playgroud)
正如文档中所述
现在通过抛出错误异常来报告大多数错误.
这是否意味着我必须为异常处理程序提供一个Error或更普遍的实例Throwable?
我第一次使用BOTH Guzzle和Codeigniter 3.0.我也承认我第一次使用php命名空间.
我试图根据文档中提供的示例使用Guzzle做一个非常简单的get请求.(Guzzle文档没有提及codeigniter).
Guzzle文件位于application/class/guzzle
这是我非常简单的控制器
public function indey () {
$data = array();
$data['main_content'] = "hiview";
$data['title'] = "Data Analyzer - Welcome";
$data['xas'] = $this->guzzler();
$this->load->view('template', $data);
}
private function guzzler() {
$client = new GuzzleHttp\Client;
$response = $client->get('http://guzzlephp.org');
return $response;
}
Run Code Online (Sandbox Code Playgroud)
这是我的简单看法
<div class="row">
<div class="col-xs-12">
<h1>Hi</h1>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<h1><?php var_dump($xas); ?></h1>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误
遇到PHP错误严重性:错误消息:找不到类'GuzzleHttp\Client'文件名:controllers/hello.php行号:22 Backtrace:
如何使用CMake执行shell脚本?应该运行的命令应该my_script在构建之后执行.该CMakeLists.txt
cmake_minimum_required(VERSION 3.0)
project(abc)
include_directories("/usr/lib/avr/include")
set(CMAKE_CURRENT_SOURCE_DIR /home/user/Desktop)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mmcu=atmega8")
set(SOURCE_FILES main.c)
add_executable(abc ${SOURCE_FILES})
#not working ----->
add_custom_command(TARGET abc
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E my_script
)
Run Code Online (Sandbox Code Playgroud)
免责声明
我刚开始看一下MVC模式.我的问题是:
我将把我的其他类文件(数据库,用户,记录器,邮件程序等)放在哪里?我应该为他们创建一个新目录libs吗?
我应该Controller在model函数内部实例化类吗?
<?php
class Controller {
protected function model($model) {
require_once('../app/models/'. $model .'.php');
return new $model();
}
protected function view($view, $data = []) {
require_once '../app/views/'. $view .'.php';
}
}
Run Code Online (Sandbox Code Playgroud) 最近在Linux机器上管理我的MySQL(5.5.41)并决定删除/合并MySQL最初创建的root用户.
引用MySQL 5.5文档(这里也是很好的文章)
在Unix上,每个root帐户都允许来自本地主机的连接.可以通过指定主机名localhost,IP地址127.0.0.1,IPv6地址:: 1或实际主机名或IP地址来建立连接.
该user表如下
+-----------+------------------+-------------------------------------------+
| Host | User | Password |
+-----------+------------------+-------------------------------------------+
| localhost | root | *ABC... |
| lamp | root | |
| 127.0.0.1 | root | *ABC... |
| ::1 | root | |
| localhost | john | *EFG... |
| lamp | john | |
| 127.0.0.1 | john | *EFG... |
| ::1 | john | |
+-----------+------------------+-------------------------------------------+
Run Code Online (Sandbox Code Playgroud)
它也设置为仅侦听localhost bind-address …
内部有逻辑是一个好主意__constructor吗?
public class someClass
{
public function __construct()
{
//some logic here
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,我认为还可以。但是,此reddit评论表明相反。
在vim反模式上有很多资源,虽然我知道存在的缺陷但我确信我并没有尽可能高效地完成所有工作.
在vim工作流程中跟踪反模式/效率低下的最佳方法是什么?
我想使用propel来获得所有模式表的输出.引用特定时TableMap
$users = UsersTableMap::getTableMap();
$map = $users->getDatabaseMap();
$tables = $map->getTables(); //yields an object, holds only Users table
Run Code Online (Sandbox Code Playgroud)
有没有办法不使用特定的表(例如Users),但有更通用的方法?这里有一个过时的问题,面临同样的问题.
我应该进行自定义查询还是解析schema.xml以检索所有表?
下面给出的一些解决方案作为答案产生空数组
$map = Propel::getServiceContainer()->getDatabaseMap(); //w & w/o string argument
$tables = $map->getTables(); //an empty array
Run Code Online (Sandbox Code Playgroud) 基本的重写规则不起作用,我不知道为什么.这是我的hanalulu.conf:
<VirtualHost *:80>
ServerName hanalulu.localhost
DocumentRoot /var/www/hanalulu/public
DirectoryIndex index.php
<Directory />
AllowOverride all
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</Directory>
RewriteEngine on
RewriteRule ^a.html$ b.html
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
我在hosts文件中添加了一个额外的行并通过后启用了该站点sudo a2ensite.重新启动的Web服务器:hanalulu.localhost/a.html请求a.html而不是b.html.
问题是什么?
php ×9
oop ×3
apache ×2
linux ×2
c ×1
class ×1
cmake ×1
codeigniter ×1
config ×1
constructor ×1
database ×1
doctrine-orm ×1
guzzle ×1
mod-rewrite ×1
mysql ×1
orm ×1
propel ×1
structure ×1
vi ×1
vim ×1