在Laravel 4中进行查询呼叫的最佳位置在哪里?

时间:2014-04-14 00:45:35

标签: php laravel submit

首先,一切都有点令人困惑。有一些教程和完整的文档,但我觉得有些事情是不应该的。现在我有点困惑和沮丧。我学会了如何编写表单,如何使用blade创建视图。如何管理迁徙甚至种子。我知道如何创建新的控制器和简单的路线。

但是伙计......如果你愿意回答,我需要一些建议......

我创建了一个带有视图的表单,例如:

{{Form::open(array('url' => 'person/confirm'))}}

{{Form::label('firstname', 'Firstname:')}}
{{Form::text('firstname')}}

{{Form::label('lastname', 'Lastname:')}}
{{Form::text('lastname')}}

{{Form::label('company_name', 'Company name:')}}
{{Form::text('company_name')}}

{{Form::label('mail', 'Mail:')}}
{{Form::text('mail')}}

{{Form::label('phone', 'Phone:')}}
{{Form::text('phone')}}

{{Form::label('additional_phone', 'Additional phone:')}}
{{Form::text('additional_phone')}}

{{Form::label('city', 'City:')}}
{{Form::text('city')}}

{{Form::label('postalcode', 'Postalcode:')}}
{{Form::text('postalcode')}}

{{Form::label('address', 'Address:')}}
{{Form::text('address')}}


{{Form::label('notes', 'Notes:')}}
{{Form::text('notes')}}


{{Form::submit('Submit')}}

{{Form::close()}}

没什么特别的,只是一种基本形式。如果我打电话提交,它将带我到人/确认路线。它会是这样的:

Route::post('person/confirm', function(){

   $input = Input::all();

    DB::table('humanity')->insert(

       array('firstname' => $firstname);

    );

}

我知道这是错的。

如何从$ input获取值?

如何正确安全地将其插入桌面?

查询电话的最佳位置在哪里?

最好在路由开始之前或下一个路由执行时进行查询?

最好在控制器功能中创建查询并在路由中执行,然后重定向到"消息:成功"?

什么是类和模型以及如何使用它们?

我打算写一些系统,日复一日,这让我更加病态,而不是满足。有人打电话给我说我把马车挂给了一个明星。

谢谢你的建议。

2 个答案:

答案 0 :(得分:1)

看起来你已经超越了你的头脑,特别是因为你问过什么课程。

我建议将Laravel(或任何框架)搁置一段时间,直到您对面向对象编程和MVC / MVP等架构模式有深入的了解。虽然Laravel资源可以提高您的知识水平,但创建结构良好的应用程序还不够。

以下是一些可能有用的书籍:

PHP Objects, Patterns and Practice

Clean Code: A Handbook of Agile Software Craftsmanship

答案 1 :(得分:0)

好的,首先我建议你看看Eloquent。 Laravels ORM(http://laravel.com/docs/eloquent)。

Eloquent允许你这样做:

$human = new Human(Input::all());
$human->save();

但我们可以回过头来看,这里的第一个问题是如何使用Input类。 真实的文档可以在laravel文档中的Requests下找到,但这里有一个简要的指南。

Input::get('firstname');            //gets the first name
Input::get('lastname');             //get doesn't refer to the method, "get" will retrieve from post or get.
Input::all();                       //will get you all input as an array - don't forget to validate
Input::except(array('csrf_token')); //will get you everything except for the 'csrf_token' as an array 

获得Laravel帮助的最佳方式之一是Laravel IRC channel,社区很棒。

  

#Laravel是许多开发人员闲逛并讨论框架的地方。很多人经常在寻找一些人   帮助

但是,IRC的实时聊天性质可以与在论坛上发帖并等待回复形成鲜明对比。


laravel的官方社区中心
Laravel.io有论坛以及诸如pastebin等过多或有用的工具,你应该成为朋友。


我建议的另一个资源是泰勒的书
它不是免费的,但它非常值得。

  

由Laravel的创作者撰写,这是权威指南   使用Laravel 4进行高级应用程序开发。了解   依赖注入,接口,服务提供者,SOLID设计和   在探索实用的,真实的代码示例时更多。是否   您正在使用Laravel构建强大的大型应用程序   这个框架,或者只是想要锐化你的软件设计   这本书对你和你的团队都很有价值。