在PHP web应用程序中,各种类如何相互交互?
我是OOP新手,正在学习symfony2。 这是我第一次体验OOP 到目前为止,我只创建了实体类和CRUD控制器 但我还没有创建自己的类 假设我有class在PHP web应用程序中,各种类如何相互交互?,php,oop,symfony,Php,Oop,Symfony,我是OOP新手,正在学习symfony2。 这是我第一次体验OOP 到目前为止,我只创建了实体类和CRUD控制器 但我还没有创建自己的类 假设我有classUser,ShoppingCart和Product Class User { $shoppingCart } 现在添加和删除产品就可以了 但我想知道,若用户点击产品添加到购物车会发生什么 我想知道我需要创建哪些方法才能将产品添加到购物车中,以及各个类应该如何进行交互,据我所知,这是一种在纯php中实现所需功能的方法 <?ph
User
,ShoppingCart
和Product
Class User {
$shoppingCart
}
现在添加和删除产品就可以了 但我想知道,若用户点击产品添加到购物车会发生什么
我想知道我需要创建哪些方法才能将产品添加到购物车中,以及各个类应该如何进行交互,据我所知,这是一种在纯php中实现所需功能的方法
<?php
class User {
public $cart;
public function __construct()
{
$this->cart = new Cart;
}
}
class Cart {
protected $products = array();
public function __construct()
{
}
public function addProduct(Product $product)
{
$this->products[] = $product;
}
}
class Product
{
//TODO DEFINE PRODUCT CLASS METHODS AND PROPERTIES
}
据我所知,这是一种在纯php中实现目标的方法
<?php
class User {
public $cart;
public function __construct()
{
$this->cart = new Cart;
}
}
class Cart {
protected $products = array();
public function __construct()
{
}
public function addProduct(Product $product)
{
$this->products[] = $product;
}
}
class Product
{
//TODO DEFINE PRODUCT CLASS METHODS AND PROPERTIES
}
你能详细说明一下你的问题吗,目前没有什么意义。虽然我确实觉得你有一个突出的问题要问,但我无法编辑我的帖子。但我想知道,当我们以面向对象的方式单击“将产品添加到购物车”时,幕后会发生什么?您想知道将项目添加到购物车的方法是什么样的吗?如果您使用symfony,并且这些类表示数据库实体,那么它们应该是doctrine实体。在这种情况下,您可以让条令为这些类之间的交互生成方法。你通常应该有(在ShoppingCart上)addProduct(Product$Product)、removeProduct(Product$Product)和setProducts(array$products)。你能详细说明你的问题吗,目前没有什么意义。虽然我确实觉得你有一个突出的问题要问,但我无法编辑我的帖子。但我想知道,当我们以面向对象的方式单击“将产品添加到购物车”时,幕后会发生什么?您想知道将项目添加到购物车的方法是什么样的吗?如果您使用symfony,并且这些类表示数据库实体,那么它们应该是doctrine实体。在这种情况下,您可以让条令为这些类之间的交互生成方法。通常(在ShoppingCart上)应该有addProduct(Product$Product)、removeProduct(Product$Product)和setProducts(array$products)。但是OP似乎对OOP失去了总体认识,所以这可能会对他有所帮助。为此,我想知道当我点击add product时,我需要在我的控制器lke addAction()中创建函数并提供用于添加的urlproduct@user1504143创建addProduct方法有多种方法。这取决于您希望如何将信息发送回服务器,您可以通过AJAX调用或传统的回发来完成。我编辑了一些内容,虽然这不是Symfony 2中的实际操作方式,当我们试图避免引入隐式依赖时。但是OP似乎对OOP失去了总体认识,所以这可能会对他有所帮助。为此,我想知道当我点击add product时,我需要在我的控制器lke addAction()中创建函数并提供用于添加的urlproduct@user1504143创建addProduct方法有多种方法。这取决于您希望如何将信息发送回服务器,您可以通过AJAX调用或传统的回发来完成。
<?php
//Include class files into the script
require_once $_SERVER["DOCUMENT_ROOT"] . "PATH/TO/CLASS/DIR/FROM/SERVER/ROOT";
//create $product object and set properties from form post
$user = new User();
$user->cart->addProduct($product);