小编rkm*_*max的帖子

RoleInterface抛出"调用非对象"错误

我正在研究Symfony 2.0.16

我的UserProvider中有getRoles方法

public function getRoles()
{
    /**
     * @var \Doctrine\Common\Collections\ArrayCollection $rol
     */
    return $this->rol->toArray();
}
Run Code Online (Sandbox Code Playgroud)

我的Rol实体有角色接口

class Rol implements \Symfony\Component\Security\Core\Role\RoleInterface
//...
public function getRole()
{
    return $this->getName();
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试登录时,我收到以下错误

致命错误:在第57行的C:\ Users\julian\Code\parqueadero\vendor\symfony\src\Symfony\Bundle\SecurityBundle\DataCollector\SecurityDataCollector.php中的非对象上调用成员函数getRole()

读取类SecurityDataCollector,Closure抛出错误

array_map(function ($role){ return $role->getRole();}, $token->getRoles()
Run Code Online (Sandbox Code Playgroud)

现在我把它改成了

array_map(function ($role){ var_dump($role); return $role->getRole();}, $token->getRoles()
Run Code Online (Sandbox Code Playgroud)

令我惊讶的是,$role是一个对象Rol,但我无法理解为什么我得到错误.

symfony

10
推荐指数
3
解决办法
8079
查看次数

Maven发现完成但未找到任何扩展名

我在我的系统上安装了eclipse 4.3,最近安装了Maven集成插件.我收到以下错误:

发现完成后未发现任何扩展.请检查您的网络连接,然后重试.

目录网址是 http://download.eclipse.org/technology/m2e/discovery/directory-1.4.xml

注意:没有代理,没有网络问题

eclipse maven-plugin maven-3 maven m2e

10
推荐指数
1
解决办法
3118
查看次数

Symfony2 - doctrine2批处理

我有以下情况:

我需要基于一对实体创建大量实体(实体C)

  • 实体A(45)
  • 实体B(700000+)
  • 实体C(45 x 700000)
  • 实体D.

所以我决定做以下事情:

$AEntities = $em->getRepository('MyBundle:EntityA')->findAll();
$DEntity = $em->getRepository('MyBundle:EntityD')->findOneBy($params);

$iterableResult = $em->getRepository('MyBundle:EntityB')
                ->createQueryBuilder('b')
                ->getQuery()->iterate();
$batchSize = 50

while (($row = $iterableResult->next()) !== false) {
  foreach($AEntities as $AEntity) {
    $entity = new Entity\EntityC();
    $entity->setEntityD($DEntity);
    $entity->setEntityB($row[0]);
    $entity->setEntityA($AEntity);
    $em->persist($entity);
  }

  if(($i % $batchSize) == 0){
    $em->flush();
    $em->clear();
  }
  $em->detach($row[0]);
  $i++;
}

$em->flush();
Run Code Online (Sandbox Code Playgroud)

我遵循doctrine2-batch-processing的指示

但是当我执行$em->detach($row[0]);并刷新获得错误时通过关系找到了一个新实体......

我试过没有,$em->detach($row[0]);但这种高内存消耗

我需要:是在使用后释放每个实体B的内存,但同时每次刷新或按组而不是一个一个,并清除所有实体C

batch-processing symfony doctrine-orm

8
推荐指数
1
解决办法
4346
查看次数

处理Angular 401响应

我有简单的api和授权点

当我请求api时,如果令牌无效(令牌失效超过五分钟),则获得401.

我知道我可以拦截401例如

app.factory("HttpErrorInterceptorModule", ["$q", "$rootScope", "$location",
    function($q, $rootScope, $location) {
        var success = function(response) {
            // pass through
            return response;
        },
            error = function(response) {
                if(response.status === 401) {
                    // dostuff
                }

                return $q.reject(response);
            };

        return function(httpPromise) {
            return httpPromise.then(success, error);
        };
    }
]).config(["$httpProvider",
    function($httpProvider) {
        $httpProvider.responseInterceptors.push("HttpErrorInterceptorModule");
    }
]);
Run Code Online (Sandbox Code Playgroud)

但是我希望捕获并排队请求并显示登录表单如果成功则更改令牌(它是标题)并再次执行请求

angularjs

8
推荐指数
1
解决办法
9285
查看次数

如何为Windows Vista/7开发Metro应用程序UI

如何为Windows Vista/7开发Metro应用程序UI

github最近发布了他们的Windows官方客户端,与Metro非常相似

http://windows.github.com/

windows-7 microsoft-metro

7
推荐指数
1
解决办法
4036
查看次数

如何在没有Management Studio的情况下更改SQL Server授权模式

有没有办法在不使用SQL Server Management Studio的情况下更改SQL Server 2008或2012中的授权模式?

sql-server-2008 sql-server-2012

7
推荐指数
1
解决办法
7391
查看次数

如何使用动态applicationId的应用程序的特定路径外部路径

我在我的应用程序中使用FileProvider,当我从应用程序拍照时存储在那里.我的应用程序也有不同的应用程序ID用于调试和发布版本

  • com.rkmax.myapp
  • com.rkmax.myapp.debug

我已经定义了这样的文件提供程序

<provider
    android:name="android.support.v4.content.FileProvider"
    android:authorities="@string/authority_file_provider"
    android:exported="false"
    android:grantUriPermissions="true">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/file_paths" />
</provider>
Run Code Online (Sandbox Code Playgroud)

价值@string/authority_file_provider将变成:

  • com.rkmax.myapp.fileprovider
  • com.rkmax.myapp.debug.fileprovider

而我@xml/file_paths的定义就像

<?xml version="1.0" encoding="utf-8"?>
<paths>
    <external-path name="my_images" path="Android/data/com.rkmax.myapp/files/Pictures" />
</paths>
Run Code Online (Sandbox Code Playgroud)

如果我尝试更改类似的东西Picturesfiles/Pictures我的应用程序失败

Failed to find configured root that contains/storage/emulated/0/Android/data/com.rkmax.myapp.debug/files/Pictures/20161112_073128-251269360.jpg
Run Code Online (Sandbox Code Playgroud)

我如何在文件提供程序路径中定义相对路径?

android android-fileprovider

7
推荐指数
1
解决办法
1872
查看次数

如何检查ram消费javascript

我需要提高在Javascript中完成的脚本的性能,我可以检查一下RAM消耗脚本.

例如像PHP函数 get_memory_get_peak()

javascript performance

6
推荐指数
1
解决办法
3167
查看次数

Symfony 2.2上传文件

我用Symfony2上传文件已经有一段时间了,似乎一切都发生了变化,请遵循如何使用Doctrine处理文件上传的指南,但是已经过时而且不能正常工作.

当我尝试绑定表单时得到一个错误

Catchable Fatal Error: Argument 1 passed to Entity\Portada::setFile() must be an instance of Symfony\Component\HttpFoundation\File\UploadedFile, string given, ...
Run Code Online (Sandbox Code Playgroud)

这是我的控制器

/**
 * @Route("/upload", name="documento_upload")
 * @Method("POST")
 * @Template()
 */
public function uploadAction(Request $request)
{
    $portada = new Portada();
    $form = $this->buildUploadForm($portada);
    $form->bind($request);

    if ($form->isValid()) {
        $portada->upload();
    } else {
        throw new \Exception("Hay un error en el formulario");

    }

    //...
}
Run Code Online (Sandbox Code Playgroud)

我的实体

<?php

namespace MyName\MyBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\HttpFoundation\File\UploadedFile;
use Symfony\Component\Validator\Constraints as Assert;

class Portada
{
    /** …
Run Code Online (Sandbox Code Playgroud)

file-upload symfony

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

工人和主管elixir应用程序之间的区别

我是elixir/phoenix的新手.我正在开发一个以前创建的具有多个存储库的应用程序,今天我看到一个让我想知道配置意味着什么的示例

我想我不知道如何搜索这就是我无法在文档上找到正确答案的原因

首先,我正在工作的应用程序有类似的东西

defmodule RestApi do
  use Application

  def start(_type, _args) do
    import Supervisor.Spec, warn: false

    children = [
      supervisor(RestApi.Endpoint, []),
      supervisor(RestApi.Repo, []),]),
      supervisor(RestApi.OtherRepo, []),]),
    ]

    opts = [strategy: :one_for_one, name: RestApi.Supervisor]
    Supervisor.start_link(children, opts)
  end

  def config_change(changed, _new, removed) do
    RestApi.Endpoint.config_change(changed, removed)
    :ok
  end
end
Run Code Online (Sandbox Code Playgroud)

他们使用Supervisor.Spec.supervisor/3函数来启动/管理所有内容

后来我找到了一个例子

defmodule RestApi do
  use Application

  def start(_type, _args) do
    import Supervisor.Spec, warn: false

    children = [
      supervisor(RestApi.Endpoint, []),
      worker(RestApi.Repo, []),
    ]

    opts = [strategy: :one_for_one, name: RestApi.Supervisor]
    Supervisor.start_link(children, opts)
  end

  def …
Run Code Online (Sandbox Code Playgroud)

elixir phoenix-framework

6
推荐指数
1
解决办法
796
查看次数