4

我在使用文档时遇到问题。可以说我想看看函数的来源

DB::事务();

我去http://laravel.com/api/index.html

并在搜索表单中输入“交易”

什么都找不到。

然后我尝试在左侧进入命名空间/数据库,这是有道理的。

后来我不知道该去哪里。有一些命名空间,一些类,一些接口。后来发现这是在连接类中,一开始我都没看。连接关联到连接到数据库,而不是进行事务。

当我不知道如何快速找到东西时,经常会发生这种情况。

你怎么处理?

我认为文档应该是最好的开发者朋友之一,但我想我是通过在所有文件中使用 sublime 大规模搜索找到了这个功能。

顺便说一句 - 我降低了 Codeigniter 文档,所以这也是我感到失望的原因。在 codeigniter 中,一切看起来都很简单,搜索效果很好。输入同一个词“交易”会让人觉得很有魅力。

好的,尝试了与 CI 相同的方法来搜索:

交易网站: http: //laravel.com/api/

然后它找到了。如果没有其他方法,也许我应该为搜索链接添加书签,然后更改关键字或类似的东西。

4

2 回答 2

3

CodeIgniter 绝对更简单,以至于任何更大的项目都会在(强制)严重错位的代码的重压下遭受巨大的损失。Laravel 稍微提高了一点,但这对你作为开发人员的好处是有好处的(我保证 :D )。

首先,感谢搜索代码。很多人没有。通过查看那里,您会学到很多东西。

Laravel 代码

对于 Laravel,您最好了解命名空间,以及它们与自动加载文件的关系(命名空间本质上与目录相关)。您可能知道这一点,但这与您如何找到类及其方法有关。

现在,这并不意味着知道任何东西在哪里——这需要你自己深入研究代码。我几乎总是让 Github 打开laravel/framework存储库来查看代码。

注意:API 搜索查找文件,而不是其中的方法(不幸的是)。

Github

如前所述,我毫不留情地使用 Github 来搜索代码,而不是 API 文档。Github 中的搜索非常好——它会在当前存储库中搜索。

比如我在github中搜索“函数事务” ,得到了不错的结果。

它让我在这里看到它接受一个闭包,并围绕在闭包内围绕事务运行的代码。您可以看到在该闭包中抛出任何异常都会被捕获并取消事务(并为您提供控制它的方法)。

外墙

正如@matit 指出的那样,Facades 实际上隐藏了代码所在的位置。这是一个棘手的部分。通常,您可以在任何外观上调用该getFacadeRoot()方法来确定它是什么类:

// Figure out what underlying class the Auth facade actually is
echo get_class( Auth::getFacadeRoot() );

最终你会发现代码中的模式。大多数外观都指向每个包中的某些类型的类(例如,管理器类的工作是决定使用哪个底层实现)。

我真的建议阅读Taylor关于 Laravel 总体架构的书。这是一本快速阅读的书,非常值得。

CodeIgniter 擅长简单,而 Laravel 擅长教你更好的编码概念。给它一些时间:D(或者仍然使用 CodeIgniter,这也很酷 - 无论你的工作如何完成!)

于 2013-11-15T14:57:20.513 回答
3

这就是为什么我强烈建议使用 CTAGS!我将 sublime text 2 与 CTAGS 插件一起使用。我只需在类方法上按 CTRL+SHIFT+单击,它会显示具有该方法的类的列表,或者如果只存在一个,则直接将我带到文件和方法。它在速度方面胜过搜索 API/文档。Laravel Facades 甚至还有一个 Sublime text 2 插件!

https://github.com/stidges/Laravel-Facades-for-ST

于 2013-11-15T17:09:25.197 回答