我正在尝试创建一个简单的结构,只转储我的数据库.使用mysqldump给我一个结果,如:
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
DROP TABLE IF EXISTS `foo`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
Run Code Online (Sandbox Code Playgroud)
无论我尝试什么,我似乎都无法摆脱那些评论.
我目前正在使用: mysqldump -p -d --add-drop-table --skip-tz-utc --skip-set-charset -h 127.0.0.1 -u foo bar --result-file=dumpfile.sql
编辑:但我希望保留其他评论,例如-- MySQL dump 10.13 Distrib 5.1.41, for Win32 (ia32)
使用PHPUnit测试异常时,要求每个语句或断言必须抛出异常才能使测试通过的最佳方法是什么?
我基本上想做这样的事情:
public function testExceptions()
{
$this->setExpectedException('Exception');
foo(-1); //throws exception
foo(1); //does not throw exception
}
//Test will fail because foo(1) did not throw an exception
Run Code Online (Sandbox Code Playgroud)
我想出了以下内容,它完成了这项工作,但IMO非常难看.
public function testExceptions()
{
try {
foo(-1);
} catch (Exception $e) {
$hit = true;
}
if (!isset($hit))
$this->fail('No exception thrown');
unset($hit);
try {
foo(1);
} catch (Exception $e) {
$hit = true;
}
if (!isset($hit))
$this->fail('No exception thrown');
unset($hit);
}
Run Code Online (Sandbox Code Playgroud) 据我了解,Spring中带注释的控制器有两个主要好处:
然而,这似乎带来两个主要缺点:
虽然我个人认为上述缺点超过了益处,但注释的使用似乎更受欢迎.这让我想到了一个问题:为什么Spring注释控制器优于传统映射?
编辑关于耦合:
我意识到在这两种情况下都与所涉及的底层框架有一些耦合.ControllerSpring所需的接口由单个方法组成,并且可以大部分被抽象出来(例如interface MyController extends SpringController).另一方面,注释除了特定于框架之外,还需要在每个文件中进行大量导入.
我正在尝试为学习目的构建一个简单的解释语言.我已经阅读了关于ANTLR和JavaCC的无数理论和教程,但我无法弄清楚如何让它做一些有用的事情.
我通过"分开并将它重新组合在一起"来学习最好的东西,那么,有没有使用ANTLR等工具实现简单语言的工作示例?
像下面这样的东西可能会很好:
x = 1
if x == 1
print "true"
Run Code Online (Sandbox Code Playgroud) 我正在尝试获取文件名的扩展名,但由于某种原因我无法进行拆分工作:
System.out.println(file.getName()); //gNVkN.png
System.out.println(file.getName().split(".").length); //0
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我已经看到了一些MVC组件在Web上组合在一起的例子.
这似乎有点冗长和凌乱.
$model = new Model;
$view = new View;
$view->set('foo', $model->getFoo());
$view->display();
Run Code Online (Sandbox Code Playgroud)
如果View需要来自多个模型的数据怎么办?
$model = new Model;
$view = new View($model);
$view->display(); //View takes what is needed from the Model
Run Code Online (Sandbox Code Playgroud)
$view = new View;
$model = new Model($view);
$view->display(); //Model has told the View what is needed
Run Code Online (Sandbox Code Playgroud)
以下哪种方式是"最佳"的方式?如果没有,那是什么?
我正在用PHP实现一个超轻的MVC框架.似乎普遍认为从数据库,文件等加载数据应该独立于模型,我同意.我不确定的是将这个"数据层"链接到MVC的最佳方法.
//controller
public function update()
{
$model = $this->loadModel('foo');
$data = $this->loadDataStore('foo', $model);
$data->loadBar(9); //loads data and populates Model
$model->setBar('bar');
$data->save(); //reads data from Model and saves
}
Run Code Online (Sandbox Code Playgroud)
看起来有点冗长,需要模型知道存在数据存储.
//controller
public function update()
{
$model = $this->loadModel('foo');
$data = $this->loadDataStore('foo');
$model->setDataStore($data);
$model->getDataStore->loadBar(9); //loads data and populates Model
$model->setBar('bar');
$model->getDataStore->save(); //reads data from Model and saves
}
Run Code Online (Sandbox Code Playgroud)
如果我们要保存将数据库数据存储扩展到flatfile数据存储区的模型,会发生什么?
//controller
public function update()
{
$model = $this->loadHybrid('foo'); //get_class == Datastore_Database
$model->loadBar(9); //loads data and populates
$model->setBar('bar');
$model->save(); //saves
} …Run Code Online (Sandbox Code Playgroud) java ×3
php ×3
annotations ×1
antlr ×1
export ×1
frameworks ×1
interpreter ×1
mysql ×1
mysqldump ×1
phpunit ×1
split ×1
spring ×1
unit-testing ×1