我正在遍历Traversy Media的PHP / MVC / OOP课程,而我正在学习为简单的社交应用程序创建路由器(任何通过domain.com/index.php
的请求的初始路由)创建路由器的章节。
该人谈论将数组作为参数传递,但我不知道它是如何工作的:
class Posts {
public function edit($id) {
$post = $this->postModel->fetchPost($id);
$this->view('edit', ['post' => $post]);
}
}
此类中有一些更简单的内容,但是我不确定['post' => $post]
部分。
我不知道这种语法如何工作,就像一个又一个的符号。这是基于已经构建到某种框架中的东西吗(他在这里没有类似的东西,这是他的东西,这是他从头开始构建它的第一章)。我的意思是,我可以想象该数组在变量中就像一个$array
,而这在方括号中是一个参数,那么这里的数组名称是什么?
这是$post
,是第二个实际=> $post
子数组。我只是一点都不明白。
我以前开始学习Laravel(现在将其全部跳过),而我也一直陷于此类问题。
我的意思是,这仅是与框架相关的(不是真正的常规过程PHP),就像已经在更深层次上编码的并且与之相关的东西吗?
在此先感谢您提供的任何信息。
答案 0 :(得分:0)
您所困惑的只是一个函数调用。
$this-view('edit',['post' => $post]);
这本可以这样写
$dataYouWantToPassToTheView = ['post' => $post];
$this->view('edit', $dataYouWantToPassToTheView);
您正在调用函数view
,并向其传递两个参数。一个Edit
字符串和一个包含键post
的数组,该键的值叫做post
。视图函数只是获取数组中的所有值,并通过视图中的键使它们可用。
这意味着您可以在视图中执行以下操作
<span>This is post id: {{ $post->id }}</span>
将数组作为参数传递是常规PHP,与特定框架无关。 Array
不需要“名称”,就像'edit'
String
不需要名称一样。