小编Jon*_*han的帖子

在Symfony 2.8,3.0及更高版本中将数据传递给buildForm()

我的应用程序当前使用构造函数将数据传递给我的表单类型,如本答案中所建议的那样.但是,Symfony 2.8升级指南建议不要使用将类型实例传递给该createForm函数:

将类型实例传递给Form :: add(),FormBuilder :: add()和FormFactory :: create*()方法已弃用,在Symfony 3.0中将不再受支持.传递类型的完全限定类名.

Before:    
$form = $this->createForm(new MyType());

After:
$form = $this->createForm(MyType::class);
Run Code Online (Sandbox Code Playgroud)

由于我无法通过完全限定的类名传递数据,还有其他选择吗?

php symfony

83
推荐指数
4
解决办法
5万
查看次数

尽管是--prefer-dist标志,但仍然无法更新作曲家依赖关系

为什么我的作曲家依赖关系更新需要两分钟,即使没有更改?

一个流行的建议是添加--prefer-dist标志,我已将其附加到我的命令:

php composer.phar update --prefer-dist
Run Code Online (Sandbox Code Playgroud)

但这没有区别.下面是我的composer.json文件 - 我错过了一些明显的东西吗?

{
    "name": "my-namespace/symfony",
    "type": "project",
    "description": "",
    "require": {
        "php": ">=5.3.3",
        "symfony/symfony": "2.3.*",
        "doctrine/orm": ">=2.2.3,<2.4-dev",
        "doctrine/doctrine-bundle": "1.2.*",
        "twig/extensions": "1.0.*",
        "symfony/assetic-bundle": "2.3.*",
        "symfony/monolog-bundle": "2.3.*",
        "sensio/framework-extra-bundle": "2.3.*",
        "sensio/generator-bundle": "2.3.*",
        "sensio/distribution-bundle": "2.2.*",
        "my-namespace/my-bundle": "1.0.*"
    },
   "repositories": [
        {
            "type": "vcs",
            "url": "http://username:password@git.com/my-bundle.git"
        }
    ],    
    "scripts": {
        "post-install-cmd": [
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
        ],
        "post-update-cmd": [
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
        ]
    },
    "config": {
        "bin-dir": "bin"
    },
    "minimum-stability": "dev",
    "extra": { …
Run Code Online (Sandbox Code Playgroud)

php symfony composer-php

62
推荐指数
3
解决办法
4万
查看次数

理解单个&符运算符(&)在整数上的行为

我知道单个&符号运算符通常用于"按位AND"运算.但是,任何人都可以帮助解释当您使用它来比较两个数字时得到的有趣结果吗?

例如;

(6 & 2) = 2
(10 & 5) = 0
(20 & 25) = 16
(123 & 20) = 16
Run Code Online (Sandbox Code Playgroud)

这些结果之间似乎没有逻辑联系 - 我错过了什么吗?在线文档似乎只是指布尔值或单个位的比较.

c# operators bitwise-operators

30
推荐指数
2
解决办法
2万
查看次数

nginx docker容器上的连接被拒绝

我在OSX中安装了Docker Toolbox,我正在按照Docker关于部署Nginx的简单教程.

我已执行docker run并确认我的容器已创建:

docker run --name mynginx1 -P -d nginx
docker ps
40001fc50719  nginx  "nginx -g 'daemon off"  23 minutes ago  Up 23 minutes  0.0.0.0:32770->80/tcp, 0.0.0.0:32769->443/tcp  mynginx1
Run Code Online (Sandbox Code Playgroud)

但是,当我curl http://localhost:32770,我得到连接拒绝错误:

curl: (7) Failed to connect to localhost port 32770: Connection refused
Run Code Online (Sandbox Code Playgroud)

我很难看到我能错过的东西.鉴于我在OSX上,我需要执行额外的步骤吗?

macos nginx docker

30
推荐指数
1
解决办法
2万
查看次数

从局部视图中获取当前控制器和操作

我正在使用以下内容来获取asp.net MVC3中的当前控制器和操作:

var currentAction = routeData.GetRequiredString("action");
var currentController = routeData.GetRequiredString("controller");
Run Code Online (Sandbox Code Playgroud)

这非常有效.但是,如果我从我的布局调用的局部视图中调用它,则"Layout"将作为当前控制器返回.这当然是正确的行为,但有没有办法访问父控制器的名称?

编辑以进一步说明:

我在_Layout.cshtml中调用我的菜单控制器和部分视图:

@Html.Action("Menu", "Layout")
Run Code Online (Sandbox Code Playgroud)

然后从该菜单局部视图中,我调用返回当前操作和控制器的代码.

c# asp.net asp.net-mvc-3

19
推荐指数
2
解决办法
2万
查看次数

重命名ASP.NET标识表时重复外键

我按照这个问题中的建议重命名我的ASP.NET标识表:

modelBuilder.Entity<IdentityUserClaim>().ToTable("UserClaim");
modelBuilder.Entity<IdentityUserRole>().ToTable("UserRole");
modelBuilder.Entity<IdentityUserLogin>().ToTable("UserLogin");
modelBuilder.Entity<IdentityRole>().ToTable("Role");
modelBuilder.Entity<IdentityUser>().ToTable("User");
modelBuilder.Entity<ApplicationUser>().ToTable("User");
Run Code Online (Sandbox Code Playgroud)

但是,这会导致UserClaim与User关系的两个属性 - UserId以及IdentityUser_Id:

在此输入图像描述

有什么办法可以解决这个问题吗?

c# sql asp.net-mvc entity-framework-5 asp.net-identity

19
推荐指数
1
解决办法
2767
查看次数

动画CAShapeLayer大小更改

我正在绘制一个圆,初始半径为200

self.circle = [CAShapeLayer layer];
self.circle.fillColor = nil;
self.circle.strokeColor = [UIColor blackColor].CGColor;
self.circle.lineWidth = 7;
self.circle.bounds = CGRectMake(0, 0, 2 * radius, 2 * radius);
self.circle.path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(self.radius, self.radius)
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我如何将变化动画为半径100?

objective-c cabasicanimation cashapelayer ios

16
推荐指数
2
解决办法
1万
查看次数

使用自定义信号处理程序的PHP SIGINT不能杀死CURL

我有一个带有自定义关闭处理程序的PHP命令行应用程序:

<?php
declare(ticks=1);

$shutdownHandler = function () {
    echo 'Exiting';
    exit();
};

pcntl_signal(SIGINT, $shutdownHandler); 

while (true) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'http://blackhole.webpagetest.org');
    curl_exec($ch);
    curl_close($ch);
}
Run Code Online (Sandbox Code Playgroud)

如果我在进行CURL请求时使用Ctrl+ C终止脚本,则无效.命令只是挂起.如果我删除自定义关闭处理程序,Ctrl+ C立即杀死CURL请求.

为什么在定义SIGINT处理程序时CURL是不可杀死的?

php curl sigint

16
推荐指数
2
解决办法
837
查看次数

两个视图控制器之间的争论

在此输入图像描述

在我的故事板上(如上所示),我有一个ViewController,它包含一个带注释的MKMapView.这些注释包含一个公开图标,在点击时,应该将用户导航到另一个ViewController.为此,我在视图控制器之间创建了一个推送segue.然后我给它一个'showDetail'标识符并实现了以下代码.

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control
{
    [self performSegueWithIdentifier:@"showDetail" sender:self];
}
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误.

Could not find a navigation controller for segue 'showDetail'. Push segues can only be used when the source controller is managed by an instance of UINavigationController.'
Run Code Online (Sandbox Code Playgroud)

我哪里错了?我已经尝试将我的源UIViewController更改为UINavigationController,但视图只显示为黑屏.

ios uistoryboard ios6

14
推荐指数
2
解决办法
3万
查看次数

无法启动php-fpm - "无法获取用户'apache'的uid"

在新的AWS Linux HVM盒子上,我运行了以下命令:

sudo yum update

sudo yum install git nginx php-fpm
Run Code Online (Sandbox Code Playgroud)

然后我尝试了sudo service start php-fpm,但是我收到以下错误:

Starting php-fpm: [10-Sep-2014 20:52:39] ERROR: [pool www] cannot get uid for user 'apache'
[10-Sep-2014 20:52:39] ERROR: FPM initialization failed
Run Code Online (Sandbox Code Playgroud)

我在哪里出错,因为我以root身份运行,apache用户来自哪里?!

php linux nginx

9
推荐指数
1
解决办法
2万
查看次数