opencart/docs/api/source-system.engine.proxy.html
2024-03-04 23:29:14 +08:00

149 lines
19 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>File system\engine\proxy.php | OpenCart API API</title>
<link rel="stylesheet" href="http://localhost\opencart-master/docs/api/assets/main.css">
<script src="http://localhost\opencart-master/docs/api/assets/main.js" defer></script>
</head>
<body class="layout">
<div class="layout-aside">
<div class="menu">
<div class="menu-section">
<h3>Namespaces</h3>
<ul>
<li class="menuGroup-item active">
<a href="http://localhost\opencart-master/docs/api/namespace-Opencart.html">Opencart</a>
<ul>
<li class="menuGroup-item">
<a href="http://localhost\opencart-master/docs/api/namespace-Opencart.Admin.html">Admin</a>
</li>
<li class="menuGroup-item">
<a href="http://localhost\opencart-master/docs/api/namespace-Opencart.Catalog.html">Catalog</a>
</li>
<li class="menuGroup-item active">
<a href="http://localhost\opencart-master/docs/api/namespace-Opencart.System.html">System</a>
<ul>
<li class="menuGroup-item active">
<a href="http://localhost\opencart-master/docs/api/namespace-Opencart.System.Engine.html">Engine</a>
</li>
<li class="menuGroup-item">
<a href="http://localhost\opencart-master/docs/api/namespace-Opencart.System.Helper.html">Helper</a>
</li>
<li class="menuGroup-item">
<a href="http://localhost\opencart-master/docs/api/namespace-Opencart.System.Library.html">Library</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="menuGroup-item">
<a href="http://localhost\opencart-master/docs/api/namespace-none.html">none</a>
</li>
</ul>
</div>
<div class="menu-section">
<h3>Classes</h3>
<ul>
<li>
<a href="http://localhost\opencart-master/docs/api/Opencart.System.Engine.Action.html">
Action
</a>
</li>
<li>
<a href="http://localhost\opencart-master/docs/api/Opencart.System.Engine.Autoloader.html">
Autoloader
</a>
</li>
<li>
<a href="http://localhost\opencart-master/docs/api/Opencart.System.Engine.Config.html">
Config
</a>
</li>
<li>
<a href="http://localhost\opencart-master/docs/api/Opencart.System.Engine.Controller.html">
Controller
</a>
</li>
<li>
<a href="http://localhost\opencart-master/docs/api/Opencart.System.Engine.Event.html">
Event
</a>
</li>
<li>
<a href="http://localhost\opencart-master/docs/api/Opencart.System.Engine.Factory.html">
Factory
</a>
</li>
<li>
<a href="http://localhost\opencart-master/docs/api/Opencart.System.Engine.Loader.html">
Loader
</a>
</li>
<li>
<a href="http://localhost\opencart-master/docs/api/Opencart.System.Engine.Model.html">
Model
</a>
</li>
<li class="active">
<a href="http://localhost\opencart-master/docs/api/Opencart.System.Engine.Proxy.html">
Proxy
</a>
</li>
<li>
<a href="http://localhost\opencart-master/docs/api/Opencart.System.Engine.Registry.html">
Registry
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="layout-main">
<div class="layout-navbar">
<nav class="navbar">
<div class="navbar-left">
<ul class="navbar-links">
<li>
<a href="http://localhost\opencart-master/docs/api/index.html">Overview</a>
</li>
<li>
<a href="http://localhost\opencart-master/docs/api/namespace-Opencart.System.Engine.html">Namespace</a>
</li>
<li class="active"><a href="http://localhost\opencart-master/docs/api/Opencart.System.Engine.Proxy.html">Class</a></li> <li>
<a href="http://localhost\opencart-master/docs/api/tree.html">Tree</a>
</li>
</ul>
</div>
<div class="navbar-right">
<div class="search" data-elements="http://localhost\opencart-master/docs/api/assets/elements.js">
<input class="search-input" placeholder="Search class, function or namespace" autofocus>
<ul class="search-results"></ul>
</div>
</div>
</nav>
</div>
<div class="layout-content">
<table class="source"><tr id="1" class="source-line"><td><a class="source-lineNum" href="#1"> 1: </a></td><td><span class="php-tag">&lt;?php
</span></td></tr><tr id="2" class="source-line"><td><a class="source-lineNum" href="#2"> 2: </a></td><td><span class="php-tag"></span><span class="php-comment">/**
</span></td></tr><tr id="3" class="source-line"><td><a class="source-lineNum" href="#3"> 3: </a></td><td><span class="php-comment"> * @package OpenCart
</span></td></tr><tr id="4" class="source-line"><td><a class="source-lineNum" href="#4"> 4: </a></td><td><span class="php-comment"> *
</span></td></tr><tr id="5" class="source-line"><td><a class="source-lineNum" href="#5"> 5: </a></td><td><span class="php-comment"> * @author Daniel Kerr
</span></td></tr><tr id="6" class="source-line"><td><a class="source-lineNum" href="#6"> 6: </a></td><td><span class="php-comment"> * @copyright Copyright (c) 2005 - 2022, OpenCart, Ltd. (https://www.opencart.com/)
</span></td></tr><tr id="7" class="source-line"><td><a class="source-lineNum" href="#7"> 7: </a></td><td><span class="php-comment"> * @license https://opensource.org/licenses/GPL-3.0
</span></td></tr><tr id="8" class="source-line"><td><a class="source-lineNum" href="#8"> 8: </a></td><td><span class="php-comment"> *
</span></td></tr><tr id="9" class="source-line"><td><a class="source-lineNum" href="#9"> 9: </a></td><td><span class="php-comment"> * @see https://www.opencart.com
</span></td></tr><tr id="10" class="source-line"><td><a class="source-lineNum" href="#10">10: </a></td><td><span class="php-comment"> */</span>
</td></tr><tr id="11" class="source-line"><td><a class="source-lineNum" href="#11">11: </a></td><td><span class="php-kw">namespace</span> Opencart\System\Engine;
</td></tr><tr id="12" class="source-line"><td><a class="source-lineNum" href="#12">12: </a></td><td><span class="php-comment">/**
</span></td></tr><tr id="13" class="source-line"><td><a class="source-lineNum" href="#13">13: </a></td><td><span class="php-comment"> * Class Proxy
</span></td></tr><tr id="14" class="source-line"><td><a class="source-lineNum" href="#14">14: </a></td><td><span class="php-comment"> *
</span></td></tr><tr id="15" class="source-line"><td><a class="source-lineNum" href="#15">15: </a></td><td><span class="php-comment"> * @template TWraps of \Opencart\System\Engine\Model
</span></td></tr><tr id="16" class="source-line"><td><a class="source-lineNum" href="#16">16: </a></td><td><span class="php-comment"> *
</span></td></tr><tr id="17" class="source-line"><td><a class="source-lineNum" href="#17">17: </a></td><td><span class="php-comment"> * @mixin TWraps
</span></td></tr><tr id="18" class="source-line"><td><a class="source-lineNum" href="#18">18: </a></td><td><span class="php-comment"> */</span>
</td></tr><tr id="19" class="source-line"><td><a class="source-lineNum" href="#19">19: </a></td><td><span class="php-kw">class</span> Proxy {
</td></tr><tr id="20" class="source-line"><td><a class="source-lineNum" href="#20">20: </a></td><td> <span class="php-comment">/**
</span></td></tr><tr id="21" class="source-line"><td><a class="source-lineNum" href="#21">21: </a></td><td><span class="php-comment"> * @var array&lt;string, object&gt;
</span></td></tr><tr id="22" class="source-line"><td><a class="source-lineNum" href="#22">22: </a></td><td><span class="php-comment"> */</span>
</td></tr><tr id="23" class="source-line"><td><a class="source-lineNum" href="#23">23: </a></td><td> <span class="php-kw">protected</span> <span class="php-kw">array</span> <span class="php-var">$data</span> = [];
</td></tr><tr id="24" class="source-line"><td><a class="source-lineNum" href="#24">24: </a></td><td>
</td></tr><tr id="25" class="source-line"><td><a class="source-lineNum" href="#25">25: </a></td><td> <span class="php-comment">/**
</span></td></tr><tr id="26" class="source-line"><td><a class="source-lineNum" href="#26">26: </a></td><td><span class="php-comment"> * __get
</span></td></tr><tr id="27" class="source-line"><td><a class="source-lineNum" href="#27">27: </a></td><td><span class="php-comment"> *
</span></td></tr><tr id="28" class="source-line"><td><a class="source-lineNum" href="#28">28: </a></td><td><span class="php-comment"> * @param string $key
</span></td></tr><tr id="29" class="source-line"><td><a class="source-lineNum" href="#29">29: </a></td><td><span class="php-comment"> *
</span></td></tr><tr id="30" class="source-line"><td><a class="source-lineNum" href="#30">30: </a></td><td><span class="php-comment"> * @return mixed
</span></td></tr><tr id="31" class="source-line"><td><a class="source-lineNum" href="#31">31: </a></td><td><span class="php-comment"> */</span>
</td></tr><tr id="32" class="source-line"><td><a class="source-lineNum" href="#32">32: </a></td><td> <span class="php-kw">public</span> <span class="php-kw">function</span> &amp;__get(string <span class="php-var">$key</span>) {
</td></tr><tr id="33" class="source-line"><td><a class="source-lineNum" href="#33">33: </a></td><td> <span class="php-kw">if</span> (<span class="php-kw">isset</span>(<span class="php-var">$this</span>-&gt;data[<span class="php-var">$key</span>])) {
</td></tr><tr id="34" class="source-line"><td><a class="source-lineNum" href="#34">34: </a></td><td> <span class="php-kw">return</span> <span class="php-var">$this</span>-&gt;data[<span class="php-var">$key</span>];
</td></tr><tr id="35" class="source-line"><td><a class="source-lineNum" href="#35">35: </a></td><td> } <span class="php-kw">else</span> {
</td></tr><tr id="36" class="source-line"><td><a class="source-lineNum" href="#36">36: </a></td><td> <span class="php-kw">throw</span> <span class="php-kw">new</span> \Exception(<span class="php-str">&#039;Error: Could not call proxy key &#039;</span> . <span class="php-var">$key</span> . <span class="php-str">&#039;!&#039;</span>);
</td></tr><tr id="37" class="source-line"><td><a class="source-lineNum" href="#37">37: </a></td><td> }
</td></tr><tr id="38" class="source-line"><td><a class="source-lineNum" href="#38">38: </a></td><td> }
</td></tr><tr id="39" class="source-line"><td><a class="source-lineNum" href="#39">39: </a></td><td>
</td></tr><tr id="40" class="source-line"><td><a class="source-lineNum" href="#40">40: </a></td><td> <span class="php-comment">/**
</span></td></tr><tr id="41" class="source-line"><td><a class="source-lineNum" href="#41">41: </a></td><td><span class="php-comment"> * __set
</span></td></tr><tr id="42" class="source-line"><td><a class="source-lineNum" href="#42">42: </a></td><td><span class="php-comment"> *
</span></td></tr><tr id="43" class="source-line"><td><a class="source-lineNum" href="#43">43: </a></td><td><span class="php-comment"> * @param string $key
</span></td></tr><tr id="44" class="source-line"><td><a class="source-lineNum" href="#44">44: </a></td><td><span class="php-comment"> * @param object $value
</span></td></tr><tr id="45" class="source-line"><td><a class="source-lineNum" href="#45">45: </a></td><td><span class="php-comment"> *
</span></td></tr><tr id="46" class="source-line"><td><a class="source-lineNum" href="#46">46: </a></td><td><span class="php-comment"> * @return void
</span></td></tr><tr id="47" class="source-line"><td><a class="source-lineNum" href="#47">47: </a></td><td><span class="php-comment"> */</span>
</td></tr><tr id="48" class="source-line"><td><a class="source-lineNum" href="#48">48: </a></td><td> <span class="php-kw">public</span> <span class="php-kw">function</span> __set(string <span class="php-var">$key</span>, object <span class="php-var">$value</span>): void {
</td></tr><tr id="49" class="source-line"><td><a class="source-lineNum" href="#49">49: </a></td><td> <span class="php-var">$this</span>-&gt;data[<span class="php-var">$key</span>] = <span class="php-var">$value</span>;
</td></tr><tr id="50" class="source-line"><td><a class="source-lineNum" href="#50">50: </a></td><td> }
</td></tr><tr id="51" class="source-line"><td><a class="source-lineNum" href="#51">51: </a></td><td>
</td></tr><tr id="52" class="source-line"><td><a class="source-lineNum" href="#52">52: </a></td><td> <span class="php-comment">/**
</span></td></tr><tr id="53" class="source-line"><td><a class="source-lineNum" href="#53">53: </a></td><td><span class="php-comment"> * __isset
</span></td></tr><tr id="54" class="source-line"><td><a class="source-lineNum" href="#54">54: </a></td><td><span class="php-comment"> *
</span></td></tr><tr id="55" class="source-line"><td><a class="source-lineNum" href="#55">55: </a></td><td><span class="php-comment"> * @param string $key
</span></td></tr><tr id="56" class="source-line"><td><a class="source-lineNum" href="#56">56: </a></td><td><span class="php-comment"> *
</span></td></tr><tr id="57" class="source-line"><td><a class="source-lineNum" href="#57">57: </a></td><td><span class="php-comment"> * @return bool
</span></td></tr><tr id="58" class="source-line"><td><a class="source-lineNum" href="#58">58: </a></td><td><span class="php-comment"> */</span>
</td></tr><tr id="59" class="source-line"><td><a class="source-lineNum" href="#59">59: </a></td><td> <span class="php-kw">public</span> <span class="php-kw">function</span> __isset(string <span class="php-var">$key</span>): bool {
</td></tr><tr id="60" class="source-line"><td><a class="source-lineNum" href="#60">60: </a></td><td> <span class="php-kw">return</span> <span class="php-kw">isset</span>(<span class="php-var">$this</span>-&gt;data[<span class="php-var">$key</span>]);
</td></tr><tr id="61" class="source-line"><td><a class="source-lineNum" href="#61">61: </a></td><td> }
</td></tr><tr id="62" class="source-line"><td><a class="source-lineNum" href="#62">62: </a></td><td>
</td></tr><tr id="63" class="source-line"><td><a class="source-lineNum" href="#63">63: </a></td><td> <span class="php-comment">/**
</span></td></tr><tr id="64" class="source-line"><td><a class="source-lineNum" href="#64">64: </a></td><td><span class="php-comment"> * __unset
</span></td></tr><tr id="65" class="source-line"><td><a class="source-lineNum" href="#65">65: </a></td><td><span class="php-comment"> *
</span></td></tr><tr id="66" class="source-line"><td><a class="source-lineNum" href="#66">66: </a></td><td><span class="php-comment"> * @param string $key
</span></td></tr><tr id="67" class="source-line"><td><a class="source-lineNum" href="#67">67: </a></td><td><span class="php-comment"> *
</span></td></tr><tr id="68" class="source-line"><td><a class="source-lineNum" href="#68">68: </a></td><td><span class="php-comment"> * @return void
</span></td></tr><tr id="69" class="source-line"><td><a class="source-lineNum" href="#69">69: </a></td><td><span class="php-comment"> */</span>
</td></tr><tr id="70" class="source-line"><td><a class="source-lineNum" href="#70">70: </a></td><td> <span class="php-kw">public</span> <span class="php-kw">function</span> __unset(string <span class="php-var">$key</span>): void {
</td></tr><tr id="71" class="source-line"><td><a class="source-lineNum" href="#71">71: </a></td><td> <span class="php-kw">unset</span>(<span class="php-var">$this</span>-&gt;data[<span class="php-var">$key</span>]);
</td></tr><tr id="72" class="source-line"><td><a class="source-lineNum" href="#72">72: </a></td><td> }
</td></tr><tr id="73" class="source-line"><td><a class="source-lineNum" href="#73">73: </a></td><td>
</td></tr><tr id="74" class="source-line"><td><a class="source-lineNum" href="#74">74: </a></td><td> <span class="php-comment">/**
</span></td></tr><tr id="75" class="source-line"><td><a class="source-lineNum" href="#75">75: </a></td><td><span class="php-comment"> * __call
</span></td></tr><tr id="76" class="source-line"><td><a class="source-lineNum" href="#76">76: </a></td><td><span class="php-comment"> *
</span></td></tr><tr id="77" class="source-line"><td><a class="source-lineNum" href="#77">77: </a></td><td><span class="php-comment"> * @param string $method
</span></td></tr><tr id="78" class="source-line"><td><a class="source-lineNum" href="#78">78: </a></td><td><span class="php-comment"> * @param array&lt;string, mixed&gt; $args
</span></td></tr><tr id="79" class="source-line"><td><a class="source-lineNum" href="#79">79: </a></td><td><span class="php-comment"> *
</span></td></tr><tr id="80" class="source-line"><td><a class="source-lineNum" href="#80">80: </a></td><td><span class="php-comment"> * @return mixed
</span></td></tr><tr id="81" class="source-line"><td><a class="source-lineNum" href="#81">81: </a></td><td><span class="php-comment"> */</span>
</td></tr><tr id="82" class="source-line"><td><a class="source-lineNum" href="#82">82: </a></td><td> <span class="php-kw">public</span> <span class="php-kw">function</span> __call(string <span class="php-var">$method</span>, <span class="php-kw">array</span> <span class="php-var">$args</span>) {
</td></tr><tr id="83" class="source-line"><td><a class="source-lineNum" href="#83">83: </a></td><td> <span class="php-comment">// Hack for pass-by-reference</span>
</td></tr><tr id="84" class="source-line"><td><a class="source-lineNum" href="#84">84: </a></td><td> <span class="php-kw">foreach</span> (<span class="php-var">$args</span> <span class="php-kw">as</span> <span class="php-var">$key</span> =&gt; &amp;<span class="php-var">$value</span>);
</td></tr><tr id="85" class="source-line"><td><a class="source-lineNum" href="#85">85: </a></td><td>
</td></tr><tr id="86" class="source-line"><td><a class="source-lineNum" href="#86">86: </a></td><td> <span class="php-kw">if</span> (<span class="php-kw">isset</span>(<span class="php-var">$this</span>-&gt;data[<span class="php-var">$method</span>])) {
</td></tr><tr id="87" class="source-line"><td><a class="source-lineNum" href="#87">87: </a></td><td> <span class="php-kw">return</span> (<span class="php-var">$this</span>-&gt;data[<span class="php-var">$method</span>])(...<span class="php-var">$args</span>);
</td></tr><tr id="88" class="source-line"><td><a class="source-lineNum" href="#88">88: </a></td><td> } <span class="php-kw">else</span> {
</td></tr><tr id="89" class="source-line"><td><a class="source-lineNum" href="#89">89: </a></td><td> <span class="php-var">$trace</span> = debug_backtrace();
</td></tr><tr id="90" class="source-line"><td><a class="source-lineNum" href="#90">90: </a></td><td>
</td></tr><tr id="91" class="source-line"><td><a class="source-lineNum" href="#91">91: </a></td><td> <span class="php-kw">throw</span> <span class="php-kw">new</span> \Exception(<span class="php-str">&#039;&lt;b&gt;Notice&lt;/b&gt;: Undefined property: Proxy::&#039;</span> . <span class="php-var">$method</span> . <span class="php-str">&#039; in &lt;b&gt;&#039;</span> . <span class="php-var">$trace</span>[<span class="php-num">0</span>][<span class="php-str">&#039;file&#039;</span>] . <span class="php-str">&#039;&lt;/b&gt; on line &lt;b&gt;&#039;</span> . <span class="php-var">$trace</span>[<span class="php-num">0</span>][<span class="php-str">&#039;line&#039;</span>] . <span class="php-str">&#039;&lt;/b&gt;&#039;</span>);
</td></tr><tr id="92" class="source-line"><td><a class="source-lineNum" href="#92">92: </a></td><td> }
</td></tr><tr id="93" class="source-line"><td><a class="source-lineNum" href="#93">93: </a></td><td> }
</td></tr><tr id="94" class="source-line"><td><a class="source-lineNum" href="#94">94: </a></td><td>}
</td></tr><tr id="95" class="source-line"><td><a class="source-lineNum" href="#95">95: </a></td><td></td></tr></table>
</div>
<div class="layout-footer">
OpenCart API API documentation generated by <a href="https://www.apigen.org">ApiGen dev-master</a>
</div>
</div>
<div class="layout-rest">
<div class="navbar"></div>
</div>
</body>
</html>