我有这个代码:
class MyController {
public function newUserAction()
{
$view = new View('myfrontend');
if($this->request->isPost())
{
$form = new MyForm;
$posts = $this->request->getPosts();
if($form->isValid($posts))
{
//...
}
}
$view->display();
}
Run Code Online (Sandbox Code Playgroud)
}
因此,每次表单未正确填写时,流程将再次启动,因此每次都有"新视图('myfrontend')"等.但这是件好事吗?一次又一次地拥有一个新的视图对象.
在这里与单身人士合作不是更好吗?
我是一个新的Zend Framework用户,但我不是PHP或编程的新手.我一直在仔细研究代码,试着掌握一切如何插在一起.我一直在研究的部分之一是如何在系统中自动加载类.我知道:
基本上_转换为目录sepearator并自动加载.
我不明白(虽然我确定有一个很好的理由)是为什么动作控制器不遵循这个约定?
为什么不:
?
我猜这个类的后缀可以减少系统中的某些复杂性,从第一次看zend框架看,一切都是经过深思熟虑的 - 我无法想象会议是在没有充分理由的情况下引入的.
任何人都可以解释为什么控制器有前缀,或者甚至更好地指出核心中的一些代码显示为什么它们必须加前缀?
谢谢 :)
我有一个问题是得到一个文本框的值,它在视图中进入控制器.
在WebForms中它非常简单,它只需要在codebehind trouhg Id中调用文本框,但在MVC中似乎不可能这样,或者?
请帮帮我!
小心,拉格姆斯
另一个ASP.NET MVC问题.
假设以下场景.你有三个控制器:
getFirstDatagetSecondDatauseFirstData您的站点的工作流程要求用户首先使用getFirstData控制器,并在视图中输入一些数据(假设为int).然后我需要使用第二个控制器(getSecondData)来做其他事情.只有这样他才使用第三个控制器(useFirstData),并且需要他在第一个控制器中输入的原始数据.
什么是最合适的方式来挂起这些数据?
我可以在我通过控制器创建的模型中传递它,但这需要我"更新"我在视图中传递的值,这似乎是"hackish".
全局变量似乎"错误".
标准方式是什么?
谢谢,
汤姆
如果您使用zend框架并只是转到http:// localhost,该站点将调用索引控制器的索引操作.....有没有办法配置zend,以便在访问索引时调用其他控制器现场?
提前致谢
我可以在控制器类中调用辅助函数吗?
假设我有_open_form方法的控制器
class User extends Controller {
function _open_form($action){
print_r(form_open($action));
}
}
Run Code Online (Sandbox Code Playgroud)
我试图回显form_open()的结果,但它返回null.似乎辅助函数不能在控制器内部调用
如果你想知道为什么我需要在控制器内使用它而不是在视图中,因为我们需要使用给定的模板解析器xD
我有一个grails应用程序,我在这里按照教程:http:
//www.grails.org/Services
我有一些代码
import org.springframework.beans.factory.InitializingBean
class SubmitRequestService implements InitializingBean{
def GrailsApplication1
def setting
void afterPropertiesSet(){
this.setting = GrailsApplication1.config.setting
}
def void sendHistoricalContract(HistoricalContract hc_instance){
//... blah blah whatever code
}
}
class SubmitRequestController {
def submitRequestService
static allowedMethods = [save: "POST", update: "POST", delete: "POST"]
def index = {
// .... blah blah whatever code
submitRequestService.sendHistoricalContract(historicalContractInstance)
}
}
Run Code Online (Sandbox Code Playgroud)
不管我做什么,我似乎无法将服务注入控制器.每当我到达我称之为服务的行时,我都会收到错误:
ERROR errors.GrailsExceptionResolver - 无法在null对象上调用方法sendHistoricalContract()
我究竟做错了什么?
提前致谢
假设我将图像URL列表从服务器传递到前端.
images/
image1.jpg
image2.jpg
image3.jpg
Run Code Online (Sandbox Code Playgroud)
现在我只列出文件名,但我需要引用绝对路径(/application/images/image1.jpg).基本上相当于${resource}服务器端.
我有一个功能:
此外,当控制器调用时,该功能需要在每个控制器上运行(我不知道如何执行此操作).
我在BaseController上编写了这个函数,但是我收到一个错误:
你调用的对象是空的.
而且,我认为这不是正确的方法.我正在使用ASP.NET MVC 2和.NET 3.5.
谢谢你的帮助.
我试图从Symfony2开始,但在Symfony 2"书籍"部分"在Symfony 2中创建页面"之后立即遇到问题:
我这样做了:
创建了捆绑包
php app/console init:bundle "Acme\StudyBundle" src
Run Code Online (Sandbox Code Playgroud)
*在app/autoload.php中添加了命名空间*
$loader->registerNamespaces(array(
'Acme' => __DIR__.'/../src',
));
Run Code Online (Sandbox Code Playgroud)
初始化捆绑包
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
// ...
new Acme\StudyBundle\AcmeStudyBundle(),
);
// ...
return $bundles;
}
Run Code Online (Sandbox Code Playgroud)
在app/config.routing.yml和src/Acme/StudyBundle/Resources/config/routing.yml中创建路由
# app/config/routing.yml
homepage:
pattern: /
defaults: { _controller: FrameworkBundle:Default:index }
hello:
resource: "@AcmeStudyBundle/Resources/config/routing.yml"
# src/Acme/StudyBundle/Resources/config/routing.yml
hello:
pattern: /hello/{name}
defaults: { _controller: AcmeStudyBundle:Hello:index }
Run Code Online (Sandbox Code Playgroud)
创建了控制器
// src/Acme/StudyBundle/Controller/HelloController.php
namespace Acme\StudyBundle\Controller;
use Symfony\Component\HttpFoundation\Response;
class HelloController
{
public function indexAction($name)
{
return new Response('<html><body>Hello '.$name.'!</body></html>');
} …Run Code Online (Sandbox Code Playgroud)