GVKun编程网logo

php – Symfony2中的FOSMessageBundle(php fscanf)

18

在这篇文章中,我们将为您详细介绍php–Symfony2中的FOSMessageBundle的内容,并且讨论关于phpfscanf的相关问题。此外,我们还会涉及一些关于php–FosUserbundl

在这篇文章中,我们将为您详细介绍php – Symfony2中的FOSMessageBundle的内容,并且讨论关于php fscanf的相关问题。此外,我们还会涉及一些关于php – FosUserbundle和symfony 2模板和编辑、php – mb_convert_case undefined function(Symfony2 FOS / UserBundle)、php – SAAS和Symfony2中的多租户?、php – symfony / FOSRestBundle:空的JSON响应(使用symfony体现的序列化程序)的知识,以帮助您更全面地了解这个主题。

本文目录一览:

php – Symfony2中的FOSMessageBundle(php fscanf)

php – Symfony2中的FOSMessageBundle(php fscanf)

在创建线程时,如何设置线程的创建者读取消息?

我有这部分代码

$composer = $this->get('fos_message.composer');
    $message  = $composer->newThread()
        ->setSender($this->getUser())
        ->setSubject('myThread')
        ->setBody($request->get('createThread')['my_thread']);

    $sender = $this->get('fos_message.sender');
    $sender->send($message);

但是当我在最后一行发送消息时,在数据库中,当发送方应设置为1时,is_read的值设置为0.因此,我需要将作者设置为在发送消息时读取.

任何人?

php – FosUserbundle和symfony 2模板和编辑

php – FosUserbundle和symfony 2模板和编辑

我是symfony 2的新手.我刚安装了基本的FOSuserbundle.但我有一些问题:

>我已经设置了新的布局模板,但我无法找到更改登录,注册,配置文件的表单模板的位置
>我找不到如何编辑用户个人资料.我可以使用/ profile查看配置文件,但我找不到任何编辑链接

解决方法:

您可以在documentation内找到问题的答案.以下是一些要点:

>将要从FOSUserBundle / Resources / views修改的模板复制到捆绑包中,然后进行所需的更改.
>如果您需要制作自定义配置文件表单(我猜是根据您的问题),那么您必须创建配置文件表单类型并指定FOSUserBundle使用它.

config.yml

services:
  my_user.profile.form.type:
    class: My\UserBundle\Form\Type\ProfileFormType
    arguments: [%fos_user.model.user.class%]
    tags:
        - { name: form.type, alias: my_user_profile }

fos_user:
  profile:
    form:
      type: my_user_profile

ProfileFormType.PHP

<?PHP

namespace My\UserBundle\Form\Type;

use Symfony\Component\Form\FormBuilder;
use FOS\UserBundle\Form\Type\ProfileFormType as BaseType;

class ProfileFormType extends BaseType
{

    public function getName()
    {
        return 'my_user_profile';
    }

    protected function buildUserForm(FormBuilder $builder, array $options)
    {
        $builder
        ->add('email', 'email')
        ->add('firstName')
        ->add('lastName')
        ;
    }
}

php – mb_convert_case undefined function(Symfony2 FOS / UserBundle)

php – mb_convert_case undefined function(Symfony2 FOS / UserBundle)

在我的Symfony2应用程序上,我收到一个错误:

Fatal error: Call to undefined function FOS\UserBundle\Util\mb_convert_case() in /Applications/MAMP/htdocs/application/vendor/bundles/FOS/UserBundle/Util/Canonicalizer.PHP on line 18

我使用的是PHP 5.3.6.

这是我的PHPInfo显示启用了mbstring:

http://i.stack.imgur.com/FCMDv.png

如果启用了mbstring,那么为什么找不到mb_convert_case?

我找到了这个:

在Windows下,您必须在PHP.ini中使用PHP_mbstring.dll取消注释该行

我不知道你是不是在跑窗框.

php – SAAS和Symfony2中的多租户?

php – SAAS和Symfony2中的多租户?

我已经使用Symfony近2年了,到目前为止,我构建的每个项目都是专门为每个客户端(即一个客户端,一个代码库,一个数据库)部署的.

让我说我有一个Project Management应用程序,我想为许多客户端部署.假设客户端将随着我在系统中构建的任何功能而去,如果我为每个客户端部署不同的代码库(因此,分配不同的数据库),这里是我预见的问题:

推出错误修复和升级将会很痛苦.我需要将其推送到我部署的每个存储库.如果我有50个客户端使用相同的应用程序,它将不会很好地扩展.
管理很痛苦如何为自己建立一个管理系统,我可以将所有项目拉入一个HTML表格?毕竟每个客户端都有自己的数据库,对吧?对于我所有客户的所有记录,我做任何有意义的事情,我需要一种方式来查看他们所有的数据库,一次,我不认为Symfony允许. (我不确定)
>用户帐号问题.如果用户正在为多家公司工作,他们都使用我的项目管理应用程序,该用户必须多次注册. (我知道这可以绕过我,如果我使用oauth,但我试图不去那里,如果我可以)

这是我已经考虑并在一定程度上尝试的解决方案.

解决方案1

一个数据库和一个代码库为所有我的客户.项目将在一个表下,发票在一个表之下,全部由他们自己的client_id标记.用户可以分配到项目,所以不需要多次注册.

这不是很难创建.但是,如果不同的客户需要发票的不同列,会发生什么?我的发票表将不断扩展(不同客户端需要的不同字段),并且每行可能包含许多空字段.更不用说,我的发票实体将以文件大小增长,每次新的自定义进行时,我都必须更新数据库模式.

解决方案2

一个数据库,每个客户端都有自己的表前缀.所以对于客户端A,我可以使用clientA_projects,clientA_invoices,clientA_configuration等

这是理想的,如果每个客户想要自定义他们的领域.但是,这是否意味着我需要为进入系统的每个新客户端创建新的实体和表单类?看起来像这个解决方案,我需要更新数据库模式与我得到的每个新客户端.

目前,我正在尝试无模式数据库(mongo和couch),希望无需先前指定表模式,我可以无需麻烦地实现解决方案1.但是我还在尝试,在我敢于部署一个可以生产的应用程序之前,还有一些方法可以解决,不熟悉与Symfony的麻瓜和沙发的问题.

所以,这是我被困在哪里.作为一名自我训练的程序员,我觉得我的知识有很多漏洞,需要填写(而不是来自CS背景的人).网络上没有很多地方谈论Symfony 2和多租户(也许我正在寻找错误的东西).如果有人能指出我更清晰的方向,也许最好的做法,例子的项目,我会真的很感激!

Btw,我打算在最新版本的Symfony(此时为2.3.2)中执行此操作.

先谢谢你们.

我也在使用Symfony2类似的时间(因为一个BETA),我建议你去解决方案#1.如果您正在进行SaaS,则无法根据您的原因向客户提供代码(主要是更新/升级的问题).整个麻烦将在用户管理上 – 哪个用户可以访问哪些数据,属于哪个组,公司等.所有其他的事情,如果完成正确将被编码与用户不一致的方式.您对不同公司的不同要求应该怎么做?使这些功能可配置.你可以在各个层次上实现:

>简单实体属性:在每个表中都有一个属性字段,并将所有内容保存为JSON,YAML或其他可动态结构化内容,
>一般配置:存在实体基础配置的一个位置(在上面写的方法中),并允许用户从那里管理新功能,所有更改都传播到简单实体,
>实现一些我所谓的Entity Parameters Pattern – 设计数据库表,其中包含参数类型,参数值和与不同级别上的其他实体的关系,然后制定可以应用于具有预定义义的任何地方的通用可配置参数类型.例如,“preferred_season”是包含配置“春季,夏季,秋季,冬季”的类型“choice_string”的参数,当附加到给定实体时,将始终呈现< select>字段与选择并保存与实体和参数类型相关的所选值.

此外,解决方案1具有一个无与伦比的优势 – 即使您想在最终发布代码,它也可以处理更多的一家公司.你只需要掩盖添加更多的能力.

总结

以上是小编为你收集整理的php – SAAS和Symfony2中的多租户?全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

php – symfony / FOSRestBundle:空的JSON响应(使用symfony体现的序列化程序)

php – symfony / FOSRestBundle:空的JSON响应(使用symfony体现的序列化程序)

我正在学习使用symfony构建API(使用FOSRestBundle).我正在学习法语教程.显然,我首先尝试自己编写代码,但即使使用复制/粘贴,当我向相应的路径(rest-api.local / places)发出GET请求时,它仍然会让我获得空的JSON数组.

如果我“格式化”PHP数组中的代码,代码工作正常:

  public function getPlacesAction(Request $request)
{
    $places = $this->get('doctrine.orm.entity_manager')
            ->getRepository('AppBundle:Place')
            ->findAll();
    /* @var $places Place[] */

    $formatted = [];
    foreach ($places as $place) {
        $formatted[] = [
           'id' => $place->getId(),
           'name' => $place->getName(),
           'address' => $place->getAddress(),
        ];
    }

    return new JsonResponse($formatted);
}

但后来我尝试直接序列化$places,使用fost Rest的视图处理程序(在config.yml中)

fos_rest:
routing_loader:
    include_format: false
view:
    view_response_listener: true
format_listener:
    rules:
        - { path: '^/', priorities: ['json'], fallback_format: 'json' }

并将我的控制器中的功能更改为以下代码,我得到了我的JSON响应,但“{[],[],[]}”之间没有任何内容(我的数据库中有3个条目):

 public function getPlacesAction(Request $request)
{
    $places = $this->get('doctrine.orm.entity_manager')
            ->getRepository('AppBundle:Place')
            ->findAll();
    /* @var $places Place[] */

    return $places;
}

这是我关于stackoverflow的第一篇文章,所以我希望我的问题很清楚,祝你有愉快的一天.

解决方法:

在我的app / config / services.yml中我添加了这个:

services:
    object_normalizer:
        class: Symfony\Component\Serializer\normalizer\GetSetMethodnormalizer
        # Important! Tag this service or it wouldn't work
        tags:
            - { name: serializer.normalizer }

我仍然无法理解为什么它有效但突然间我有一个很好的json作为回应.

今天关于php – Symfony2中的FOSMessageBundlephp fscanf的介绍到此结束,谢谢您的阅读,有关php – FosUserbundle和symfony 2模板和编辑、php – mb_convert_case undefined function(Symfony2 FOS / UserBundle)、php – SAAS和Symfony2中的多租户?、php – symfony / FOSRestBundle:空的JSON响应(使用symfony体现的序列化程序)等更多相关知识的信息可以在本站进行查询。

本文标签: