小编Son*_*ngo的帖子

DDD应用服务中的CRUD?

我是DDD的新手,但我正在尝试将DDD概念融入我当前的项目中.

对于我域中的许多实体,客户端需要独立于任何特定工作流执行所有标准CRUD操作.我发现自己有许多应用程序级服务,其名称如UserService或LocationService,只是作为各个存储库的外观.

这些应用程序服务作为存储库外观是应用程序服务模式的"正确"应用程序吗?或者CRUD专用方法是否应该停止应用程序服务?如果是这样,接口层是否应该有一个存储库外观?

architecture design-patterns domain-driven-design repository

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

关于PHP会话的几个问题

我有一些关于php会话的问题:

  1. 由于默认值session.gc_maxlifetime24分钟,那么这意味着,任何一届会议的文件不会被修改为24分钟,将被删除,会话将自动失效.

  2. 如果我session_destroy()在我的代码中使用会话将被取消设置,但会话文件本身将不会被删除,直到自上次修改后经过24分钟.

  3. 延长会话寿命(超过24分钟)的唯一方法是扩展session.gc_maxlifetime到更大的值.

这些都是正确的还是我弄错了?

此外,如果我session_set_save_handler()将会话存储在数据库中(使用),所有这些规则是否适用于它们?

php session session-timeout session-cookies

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

主义2极端优化

我目前正在使用Zend framework 1.11.11和Doctrine 2.2构建一个Web应用程序.我搜索了很多优化所用框架的最佳方法和黑客.

在我搜索Zend框架优化期间,我偶然发现了这篇文章: 优化Zend框架

有趣的是,它提到了一些从框架本身的使用中产生的优化技术,并没有在手册中涵盖,例如:

  • 禁用viewRenderer并自己处理视图渲染.

现在我正在寻找可以应用于Doctrine 2的类似技术,而不是手册中提到的那些.

注意

我知道很多人会提到分析查询,缓存和找到应用程序的瓶颈,但这不是你在寻找:)我正在寻找在Doctrine 2使用过程中发现的实用增强功能.

谢谢 ;)

php performance zend-framework doctrine-orm

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

使此类符合依赖性倒置原则

维基百科引用的DI的定义指出:

A.高级模块不应该依赖于低级模块.两者都应该取决于抽象.B.抽象不应该依赖于细节.细节应取决于抽象.

我正在尝试将该原则应用于我的代码:

class Printer{
        private $logger;    
        function __construct(Zend_Log $logger){
            $this->logger=$logger;
        }    
       function print(){
          //Some code
          $this->logger->log('Logger in action ;)');
       }        
    }
Run Code Online (Sandbox Code Playgroud)

既然为什么Printer类依赖于Zend_Log哪个既不是抽象类也不是接口,那么我就违反了依赖性倒置原则.

如何知道Zend_Log不扩展抽象类也不实现接口?

php oop dependency-injection zend-framework

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

如何找到一个罕见的bug?

我的应用程序包含一个错误,它使脚本运行无限长.当我强制脚本停止时,所有jQuery UI元素都不会回复我的操作,也不会回应按键的应用程序.

如果我选择打开Firebug,则需要重新加载页面,并且所有当前的应用程序状态都将丢失.

问题是我无法重现这个错误,这有点让我发疯.如何找到并修复这种光滑的bug?

UPDATE.谢谢大家的建议.但问题是我无法弄清楚何时发生错误,因此无法重现错误.这就是为什么标准程序在我的情况下不起作用的原因.

我已经检查了每个while循环和递归函数调用,但还没有弄清楚问题.

发布代码并不是一个好主意 - 代码列表非常庞大而且相当复杂(游戏).

可能的解决方案.我将按照已发布的提示之一进行操作,并尝试对所有可能导致问题的功能进行控制.希望能帮助到你.

javascript debugging jquery firebug

6
推荐指数
2
解决办法
316
查看次数

在Zend框架中使用ssl连接到mysql

使用这段代码我可以正常使用zend框架连接到mysql:

resources.db.adapter = "Pdo_Mysql"
resources.db.params.host = "xx.xx.xx.xx"
resources.db.params.username = "test_user"
resources.db.params.password = "test_pass"
resources.db.params.dbname = "test_database"
resources.db.params.port="xxxx"

;parameters here for ssl connection??
Run Code Online (Sandbox Code Playgroud)

在我的Controller:

  public function indexAction() {
        $config = new Zend_Config_Ini('/path/to/application.ini', 'development');
        $db = Zend_Db::factory($config->resources->db);
        $sql = 'SELECT * FROM test_table';
        $result = $db->fetchAll($sql);

        echo '<pre>';
        print_r($result);
    }
Run Code Online (Sandbox Code Playgroud)

现在问题是我想使用ssl连接到mysql ,但我还没有找到任何关于如何做到这一点的文档.

我设法通过配置ssl连接,在数据库管理员的帮助下使用Navicat连接到服务器,如下所示: 在此输入图像描述

现在的问题是如何使用PHP连接?

php mysql ssl zend-framework

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

在进行领域驱动设计时如何正确利用值对象验证?

我有一个伪代码中的简单实体 Order

class Order{    
    private int quantity;
    private Date orderDate;
    private Date shippingDate;

    public Order(int quantity, Date orderDate, Date shippingDate){
        if(quantity <= 0){ throw new Exception("Invalid quantity")}
        if(shippingDate < orderDate){ throw new Exception("Invalid shippingDate")}
        if(...more validation...){....throw Exceptions...}

       //assign values if everything is OK
    }
}
Run Code Online (Sandbox Code Playgroud)

描述、数量、订单日期和发货日期都是从 Web 表单中读取的,其中每个都是由多个验证器配置的文本字段:

quantityField= new TextField('txt_quantity');
quantityFiled.addNotNullValidator().addNumaricValidator().addPositiveIntegerValidator()
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,验证逻辑在TextField验证和实体验证之间是重复的。
我试图通过创建Quantity类、OrderDate类和ShippingDate类来向我的实体引入值对象的概念。所以我的Order实体变成这样:

class Order{    
    private Quantity quantity;
    private OrderDate orderDate;
    private ShippingDate shippingDate;

    public Order(Quantity quantity, …
Run Code Online (Sandbox Code Playgroud)

language-agnostic oop domain-driven-design

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

抛出RuntimeException导致事务回滚,但Exception不在spring启动应用程序中

在下面的代码中抛出一个Exception不回滚事务,但抛出一个RuntimeException.

@Service
public class HelloService {    
    @Autowired
    protected CustomerRepository repository;
    @Transactional
    public void run() throws Exception {
        repository.save(new Customer("Jack", "Bauer"));
        throw new RuntimeException("Kabooom!!!"); //Transaction is rolled back. Database is empty :)
        //throw new Exception("Kabooom!!!"); //If this is used instead the records are inserted into the database. :(

    }
}
Run Code Online (Sandbox Code Playgroud)

我的存储库:

public interface CustomerRepository extends CrudRepository<Customer, Long> {
}
Run Code Online (Sandbox Code Playgroud)

Spring boot appliction.properties:

# DataSource settings: set here configurations for the database connection
spring.datasource.url = jdbc:mysql://localhost/hobbadb
spring.datasource.username = …
Run Code Online (Sandbox Code Playgroud)

java spring exception spring-data spring-boot

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

如何在Spring数据休息中返回深层嵌套投影?

鉴于这3个实体:

@Entity
class Department{
    Set<Employee> employees;
    Set<Employee> getEmployees(){
        return this.employees;
    };    
}

@Entity
class Employee{
    Nationality nationality;
    Nationality getNationality(){
        this.nationality;
    }
}
@Entity
class Nationality{

}
Run Code Online (Sandbox Code Playgroud)

我想创建一个投影,Department让所有部门都有员工和国籍.我所取得的成就是让所有部门与员工一起使用:

@Projection(name = "fullDepartment", types = { Department.class })
public interface DepartmentsProjection {
    Set<Employee> getEmployees();
}

@RepositoryRestResource(collectionResourceRel = "department", path = "departments")
public interface DepartmentRepository extends JpaRepository<Department, Long> {
}
Run Code Online (Sandbox Code Playgroud)

java spring projection spring-data-rest

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

用于php的完全OO Ftp库

我试图构建一个应用程序,将一些文件从各种ftp服务器下载到本地目录.稍后我会将它们上传到其他ftp服务器.

该应用程序是使用Zend框架构建的.

问题是我找不到一个类来处理Zend框架中的ftp下载/上传功能.

唯一可用的课程Zend_File_Transfer有以下评论:

注意:限制

Zend_File_Transfer的当前实现仅限于HTTP Post Uploads.将来的版本中将添加支持下载和其他协议的其他适配器.未实现的方法将引发异常.目前,您应该直接使用Zend_File_Transfer_Adapter_Http.只要有多个适配器可用,您就可以使用通用接口.

我需要能够做到以下几点:

  • 上传多个文件.
  • 获取所有文件的远程目录列表.
  • 设置验证器
  • 设置过滤器
  • 设置路径
  • 重命名文件
  • 包装下载
  • 操作期间各种错误的例外情况.

Zend框架中是否有解决此问题的方法?你能为ftp操作推荐一个替代库吗?

提前致谢

更新:

  • 我检查了PEAR包,不幸的是它仍处于alpha版本.此外,一旦出现诸如下载失败或远程路径之类的问题,它们的函数就会返回错误而不是异常.
  • 不幸的是,Skjb_Ftp并不完整,因为许多函数没有实现.

php ftp class

5
推荐指数
2
解决办法
6861
查看次数