是否有某种工具(理想情况下适用于Chrome),我可以在其中填写我正在设计/测试多次的长形式?
我应该能够:
我在开发过程中手动测试了一些东西,所以我不想要一个完全自动化的解决方案(我使用的是Symfony2.1,所以我也可以编写功能测试).我只需要一种快速填写表单的方法,这样我就可以节省一些时间,但我找不到好的Chrome扩展程序或其他任何操作.我记得Firefox中的Firebug有这样的东西我想(虽然我从来没用过它)所以我想象存在的东西.
内置保存的表单似乎对此任务没有用,但也许我错过了一些东西.
所以我已经完成了一堆Doctrine2迁移(https://github.com/doctrine/migrations),但我对我正在尝试进行的新迁移有疑问.
我一直在深入挖掘库,我看到它$this->addSql()用于构建要执行的SQL列表,然后稍后执行.
我想做一些事情,我选择一些数据,迭代行,插入新数据,然后删除我选择的数据.这很适合DBAL库,但我想知道,我可以protected $connection安全地使用迁移吗?或者是那么糟糕,因为它会在我的任何$this->addSql()SQL 执行之前执行语句?此外,它似乎会破坏dry-run我在代码中看到的设置.有没有人有这种迁移的经验?有没有最佳做法?
以下是我想要进行的迁移,但我不相信Doctrine Migrations支持这一点:
public function up(Schema $schema)
{
// this up() migration is autogenerated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() != "mysql");
$this->addSql("ALTER TABLE article_enclosures ADD is_scrape TINYINT(1) NOT NULL");
$this->addSql("ALTER TABLE images DROP FOREIGN KEY FK_E01FBE6AA536AAC7");
// now lets take all images with a scrape and convert the scrape to an enclosure
//
// Select all images where not scrape_id is null (join on article_image_scrape)
// …Run Code Online (Sandbox Code Playgroud) 有类似的问题,但我找不到任何与Doctrine2配置有关的问题,所以这里有......
我已经读过这个描述Doctrine2时区的页面,我只是想澄清一下,因为目前还不清楚如何实际使用它:http://doctrine-orm.readthedocs.org/en/latest/cookbook/working-与-datetime.html
我希望以UTC格式存储日期时间,以便每个用户可以根据其位置拥有关联的时区,但数据通常存储.
基本上,数据是商店的营业时间(例如,上午9点开放,下午6点关闭).商店将跟踪其时区,因此当商店中的人设置"开放"时间时,他们正在处理商店的时区,时间转换为UTC并存储在数据库中.接下来,当其他用户查看商店营业时间时,他们将在自己的时区或商店时区中看到营业时间.这应该没关系,因为我有UTC时间,所以我可以将它们转换为任何时区.
所以Doctrine文档显示了这个例子:
class UTCDateTimeType extends DateTimeType
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
但它没有说明如何使用它.我是否必须将列声明为"UTCDateTime"而不是"DateTime"?这个类需要在哪里生活,以便Doctrine知道该类型存在?

是否可以在CSS中制作类似的东西?我想要标题的图像,但我希望下一部分切出三角形,以便上面的图像显示在那里.
我知道如何制作一个带边框的实心CSS三角形(例如:http://www.dailycoding.com/Posts/purely_css_callouts.aspx),但在这种情况下我要么做相反的事情(拿一个"块"在蓝色部分之外",或者使三角形成为与其连接的图像完全对齐的图像.我在想,如果我能把一块"大块"拿出来,那可能会更容易
为了使它更复杂一点,我也将上面的图像设置为background-attachment: fixed和background-size: cover.因此,随着浏览器尺寸变大,图像会缩放.
如果我不能单独使用CSS并且需要图像,那么如果文本在页面上水平居中,我该如何制作正确的图像组合以使三角形与文本保持一致?我正在考虑这样的事情,两个长div的延伸到边缘,一个精确的宽度图像在中间,三角形透明:
_____________________________ ___ ______________________ _________________________
| (really wide for margin)|| V (960px wide image) || (really wide box again) |
Run Code Online (Sandbox Code Playgroud)
但是它可以用CSS完成吗?或者是否有一个SVG解决方案(我不熟悉SVG)?我可以使用仅适用于现代浏览器的解决方案,因为这绝对只是"渐进式增强".
有没有一个库可以让PHP访问Amazon S3,让我使用完全相同的代码来读/写S3桶或者对本地文件做同样的事情?
我想使用S3,但我需要一种在本地运行我的应用程序进行测试的方法.
如果没有直接支持切换到本地文件系统的库,是否有一个以良好的OOP方式编写的库,以便我可以使用相同的接口来创建它的本地文件系统版本?
我正在使用Symfony2,所以如果有一个捆绑,这将是一个加号,但我总是可以自己做一个捆绑.
UPDATE
我现在正试图制作一个捆绑包.我只需要操作"创建","存在"和"删除",所以我创建了一个接口来处理它.然后我有一个"本地"实现和一个"S3"实现.
什么是一个干净的Symfony2方法,允许另一个类通过ID访问某些服务,并根据配置参数获取LocalStorage或S3Storage类?我考虑过使用"class"参数,但我的S3服务依赖于底层的AmazonS3类(使用AWS包).
我有一个简单的用例.我想有一个setUp方法,它将导致我的模拟对象返回一个默认值:
$this->myservice
->expects($this->any())
->method('checkUniqueness')
->will($this->returnValue(true));
Run Code Online (Sandbox Code Playgroud)
但是在某些测试中,我想返回一个不同的值:
$this->myservice
->expects($this->exactly(1))
->method('checkUniqueness')
->will($this->returnValue(false));
Run Code Online (Sandbox Code Playgroud)
我过去曾使用过GoogleMock for C++,它有"returnByDefault"或其他东西来处理它.我无法弄清楚这是否可能在PHPUnit中(没有api文档,代码很难通读以找到我想要的东西).
现在我不能只改为$this->myservice新的模拟,因为在设置中,我将其传递给需要模拟或测试的其他东西.
我唯一的另一个解决方案是我失去了设置的好处,而是必须为每次测试建立我的所有模拟.
所以也许这是一个愚蠢的问题,我在想这个,但我有以下情况.我正在制作一个"类Shell",它可以运行抽象的"类Action"对象.它是唯一应该创建或使用这些对象的类.操作对象需要访问Shell以对其执行特定操作,但我试图避免为此添加公共接口(不应该允许其他人这样做).
我原来有一个简单的(不那么优雅)
class Shell
{
public:
bool checkThing();
// etc...
private:
bool _thing;
};
class Action
{
public:
virtual void execute( Shell &s )=0;
};
class ChangeAction : public Action
{
public:
void execute( Shell &s )
{
// requires friendship or public mutator!
s._thing = true;
}
};
Run Code Online (Sandbox Code Playgroud)
所以我考虑了一个嵌套类Action,但是我想把它变成私有的(为什么让其他人做除了Shell之外的具体动作,对吧?)
class Shell
{
public:
bool checkThing();
// etc...
private:
bool _thing;
class Action;
};
class Shell::Action
{
public:
virtual void execute( Shell &s )=0;
};
class ChangeAction : public Shell::Action …Run Code Online (Sandbox Code Playgroud) 我有一个类似于以下的关系记录:
因此,用户可以看到类别中所有文章的列表.他们可以点击文章,它会在read_articles表中添加一个条目(user_id,article_id).
我希望能够使用Yii的ActiveRecord来获取当前用户尚未读取的给定类别的所有文章并显示这些文章.我在SQL方面一直在考虑它,但我不确定如何将它放入我的ActiveRecord设置中.我的第一个想法是文章活动记录的参数化范围:
public function unread( $userId )
{
$this->getDbCriteria()->mergeWith( array(
'alias' => 'articles',
'condition' => 'not exists (SELECT * '
. 'FROM user_read_articles '
. 'WHERE articles.id=user_read_articles.article_id '
. 'AND read_articles.user_id=' . (int)$userId
. ')',
) );
}
Run Code Online (Sandbox Code Playgroud)
它看起来很有效,但对我来说感觉很脏.
有没有更清洁的方法来做我在ActiveRecord中谈论的内容?或者我应该考虑转向更简单的SQL并自己处理这样的事情(但是失去了很多很好的AR功能)?
编辑以下是上述模型的关系:(免责声明,这些仅被截断为相关部分)
UserActiveRecord
public function relations()
{
return array(
'categories' => array(
self::HAS_MANY,
'UserCategoryActiveRecord',
'user_id' ),
// I added this early using gii, never really used it...
'readArticles' => array(
self::HAS_MANY,
'UserReadArticleActiveRecord',
'user_id' ),
); …Run Code Online (Sandbox Code Playgroud) 我一直在研究它并试一试,但我有点难过.
我想在WordPress中设置一个网站,这对另一个与我合作的人很有帮助.该网站将宣传我们的产品并提供信息.然后用户可以通过一系列表单进行注册.我想在Symfony2中编写这个自定义部分(表单等),因为它不需要绑定到WordPress,并且在用户注册后它将具有可重用的Doctrine2实体来显示数据(无论如何都在WordPress之外显示) ).
但是,在设计方面,我们希望整个过程不间断,并具有相同的外观和感觉.因此,表单实际上应该在WordPress页面中呈现.我们使用的是自定义的非免费主题,我讨厌将一堆WordPress CSS和标题复制粘贴到Symfony视图中.
理想情况下,我想在WordPress中定义可以呈现Symfony2操作的页面.因此,操作本身可能会显示和处理表单(这应该独立于WordPress在http://example.com/app.php/signup上工作),但它们通常应该显示在WordPress站点中(例如在页面中http://example.com/index.php?page_id=2或永久链接).
我一直在研究LowPress作为一种集成方式(http://www.lowpress.com/),但它通过完全删除WordPress主题并用Twig主题替换它来实现比我想要的更多.我试图从中借用一些想法,所以现在我web在Symfony项目的文件夹中有WordPress ,这在我的wp-config.php:
// ...code omitted
define('WP_DEBUG', true);
define('SYMFONY_DIR', __DIR__.'/../app/');
require_once SYMFONY_DIR.'/bootstrap.php.cache';
require_once SYMFONY_DIR.'/AppKernel.php';
//require_once SYMFONY_DIR.'/AppCache.php';
use Symfony\Component\EventDispatcher\Event;
use Symfony\Component\HttpFoundation\Request;
$kernel = new AppKernel((WP_DEBUG) ? 'dev' : 'prod', WP_DEBUG);
$kernel->loadClassCache();
$kernel->boot();
$GLOBALS['sf2_kernel'] = $kernel;
// save request before WordPress messes with it
$GLOBALS['sf2_request'] = Request::createFromGlobals();
$doctrine = $kernel->getContainer()->get('doctrine');
$conn = $doctrine->getConnection($doctrine->getDefaultConnectionName());
// ** MySQL settings - You can get this info from your web host ** // …Run Code Online (Sandbox Code Playgroud) 我有一个使用 c/c++ 中的本机组件的项目,以及一些使用 .NET 的 Windows 托管项目,该项目使用 p/invoke 调用本机 DLL。所以我想要一个 cmake 生成的 .NET C# 项目,它将构建托管代码并复制它所需的本机 DLL,以便无需其他步骤即可运行它(例如直接在 Visual Studio 中构建和运行测试)。
这是通过添加自定义命令来复制 DLL 来与 .NET 4.8 一起使用,但我最近想尝试使用 SDK 风格的 vs 项目来尝试 .NET 6:
set_target_properties(${this_target} PROPERTIES
DOTNET_SDK "Microsoft.NET.Sdk"
DOTNET_TARGET_FRAMEWORK "net6.0")
Run Code Online (Sandbox Code Playgroud)
我之前复制本机 DLL 的解决方案是定义一个像这样的自定义函数,它可以复制所需的 DLL:
# in the native cmakelist for my dll with target name native_dll:
function(copy_native_dlls target output_directory)
add_custom_command(TARGET ${target} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${build_binaries_path}/$<CONFIG>/native_dll/native1.dll ${output_directory}
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${build_binaries_path}/$<CONFIG>/native_dll/native1.pdb ${output_directory}
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${build_binaries_path}/$<CONFIG>/native_dll/native2.dll ${output_directory}
DEPENDS …Run Code Online (Sandbox Code Playgroud)