2024-02-12 17:21:57 +01:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "utf-8" >
< title > PHP Basics< / title >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< base href = "../" >
< link rel = "icon" href = "images/favicon.ico" / >
< link rel = "stylesheet" href = "css/normalize.css" >
< link rel = "stylesheet" href = "css/base.css" >
< link rel = "preconnect" href = "https://fonts.gstatic.com" >
< link href = "https://fonts.googleapis.com/css2?family=Open+Sans:wght@100;200;300;400;600;700&display=swap" rel = "stylesheet" >
< link href = "https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@400;600;700&display=swap" rel = "stylesheet" >
< link rel = "stylesheet" href = "css/template.css" >
< link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.0/css/all.min.css" integrity = "sha256-ybRkN9dBjhcS2qrW1z+hfCxq+1aBdwyQM5wlQoQVt/0=" crossorigin = "anonymous" / >
< link rel = "stylesheet" href = "https://cdn.jsdelivr.net/npm/prismjs@1.23.0/themes/prism-okaidia.css" >
< link rel = "stylesheet" href = "https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/line-numbers/prism-line-numbers.css" >
< link rel = "stylesheet" href = "https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/line-highlight/prism-line-highlight.css" >
< script src = "https://cdn.jsdelivr.net/npm/fuse.js@3.4.6" > < / script >
< script src = "https://cdn.jsdelivr.net/npm/css-vars-ponyfill@2" > < / script >
< script src = "js/template.js" > < / script >
< script src = "js/search.js" > < / script >
< script defer src = "js/searchIndex.js" > < / script >
< / head >
< body id = "top" >
< header class = "phpdocumentor-header phpdocumentor-section" >
< h1 class = "phpdocumentor-title" > < a href = "" class = "phpdocumentor-title__link" > PHP Basics< / a > < / h1 >
< input class = "phpdocumentor-header__menu-button" type = "checkbox" id = "menu-button" name = "menu-button" / >
< label class = "phpdocumentor-header__menu-icon" for = "menu-button" >
< i class = "fas fa-bars" > < / i >
< / label >
< section data-search-form class = "phpdocumentor-search" >
< label >
< span class = "visually-hidden" > Search for< / span >
< svg class = "phpdocumentor-search__icon" width = "21" height = "20" viewBox = "0 0 21 20" fill = "none" xmlns = "http://www.w3.org/2000/svg" >
< circle cx = "7.5" cy = "7.5" r = "6.5" stroke = "currentColor" stroke-width = "2" / >
< line x1 = "12.4892" y1 = "12.2727" x2 = "19.1559" y2 = "18.9393" stroke = "currentColor" stroke-width = "3" / >
< / svg >
< input type = "search" class = "phpdocumentor-field phpdocumentor-search__field" placeholder = "Loading .." disabled / >
< / label >
< / section >
< nav class = "phpdocumentor-topnav" >
< ul class = "phpdocumentor-topnav__menu" >
< li class = "phpdocumentor-topnav__menu-item -menu" >
< a href = "https://packagist.org/packages/opencultureconsulting/basics" >
< span >
< i class = "fab fa-php" > < / i >
< / span >
< / a >
< / li >
< li class = "phpdocumentor-topnav__menu-item -menu" >
< a href = "https://github.com/opencultureconsulting/php-basics" >
< span >
< i class = "fab fa-github" > < / i >
< / span >
< / a >
< / li >
< / ul >
< / nav >
< / header >
< main class = "phpdocumentor" >
< div class = "phpdocumentor-section" >
< input class = "phpdocumentor-sidebar__menu-button" type = "checkbox" id = "sidebar-button" name = "sidebar-button" / >
< label class = "phpdocumentor-sidebar__menu-icon" for = "sidebar-button" >
Menu
< / label >
< aside class = "phpdocumentor-column -three phpdocumentor-sidebar" >
2024-02-15 11:13:57 +01:00
< section class = "phpdocumentor-sidebar__category -documentation" >
< h2 class = "phpdocumentor-sidebar__category-header" > Documentation< / h2 >
2024-02-12 17:21:57 +01:00
< h4 class = "phpdocumentor-sidebar__root-namespace" >
2024-02-15 11:13:57 +01:00
< a href = "guides/overview/index.html#overview" class = "" > Overview< / a >
< / h4 >
2024-03-26 20:10:30 +01:00
< ul class = "phpdocumentor-list" >
< li >
< a href = "guides/overview/datastructures.html#typed-datastructures" class = "" > Typed Datastructures< / a >
< / li >
< li >
< a href = "guides/overview/errorhandlers.html#error-and-exception-handlers" class = "" > Error and Exception Handlers< / a >
< / li >
< li >
< a href = "guides/overview/interfaces.html#interface-traits" class = "" > Interface Traits< / a >
< / li >
< li >
< a href = "guides/overview/traits.html#traits" class = "" > Traits< / a >
< / li >
< / ul >
2024-02-15 11:13:57 +01:00
< h4 class = "phpdocumentor-sidebar__root-namespace" >
< a href = "guides/usage/index.html#user-guide" class = "" > User Guide< / a >
2024-02-12 17:21:57 +01:00
< / h4 >
< ul class = "phpdocumentor-list" >
< li >
2024-02-15 11:13:57 +01:00
< a href = "guides/usage/requirements.html#requirements" class = "" > Requirements< / a >
< / li >
< li >
< a href = "guides/usage/installation.html#installation" class = "" > Installation< / a >
2024-02-12 17:21:57 +01:00
< / li >
< / ul >
< h4 class = "phpdocumentor-sidebar__root-namespace" >
2024-02-15 11:13:57 +01:00
< a href = "guides/changelog.html#changelog" class = "" > Changelog< / a >
2024-02-12 17:21:57 +01:00
< / h4 >
< / section >
2024-02-15 11:13:57 +01:00
< section class = "phpdocumentor-sidebar__category -namespaces" >
2024-02-12 17:21:57 +01:00
< h2 class = "phpdocumentor-sidebar__category-header" > Namespaces< / h2 >
< h4 class = "phpdocumentor-sidebar__root-namespace" >
< a href = "namespaces/occ.html" class = "" > OCC< / a >
< / h4 >
< ul class = "phpdocumentor-list" >
< li >
< a href = "namespaces/occ-basics.html" class = "" > Basics< / a >
< / li >
< / ul >
< / section >
2024-02-15 11:13:57 +01:00
< section class = "phpdocumentor-sidebar__category -packages" >
2024-02-12 17:21:57 +01:00
< h2 class = "phpdocumentor-sidebar__category-header" > Packages< / h2 >
< h4 class = "phpdocumentor-sidebar__root-namespace" >
< a href = "packages/Basics.html" class = "" > Basics< / a >
< / h4 >
< ul class = "phpdocumentor-list" >
< li >
< a href = "packages/Basics-DataStructures.html" class = "" > DataStructures< / a >
< / li >
< li >
< a href = "packages/Basics-ErrorHandlers.html" class = "" > ErrorHandlers< / a >
< / li >
< li >
< a href = "packages/Basics-Interfaces.html" class = "" > Interfaces< / a >
< / li >
< li >
< a href = "packages/Basics-Traits.html" class = "" > Traits< / a >
< / li >
< / ul >
< / section >
2024-02-15 11:13:57 +01:00
< section class = "phpdocumentor-sidebar__category -reports" >
2024-02-12 17:21:57 +01:00
< h2 class = "phpdocumentor-sidebar__category-header" > Reports< / h2 >
< h3 class = "phpdocumentor-sidebar__root-package" > < a href = "reports/deprecated.html" > Deprecated< / a > < / h3 >
< h3 class = "phpdocumentor-sidebar__root-package" > < a href = "reports/errors.html" > Errors< / a > < / h3 >
< h3 class = "phpdocumentor-sidebar__root-package" > < a href = "reports/markers.html" > Markers< / a > < / h3 >
< / section >
2024-02-19 14:52:57 +01:00
< section class = "phpdocumentor-sidebar__category -indices" >
< h2 class = "phpdocumentor-sidebar__category-header" > Indices< / h2 >
2024-02-12 17:21:57 +01:00
< h3 class = "phpdocumentor-sidebar__root-package" > < a href = "indices/files.html" > Files< / a > < / h3 >
< / section >
< / aside >
< div class = "phpdocumentor-column -nine phpdocumentor-content" >
< section >
< ul class = "phpdocumentor-breadcrumbs" >
< li class = "phpdocumentor-breadcrumb" > < a href = "namespaces/occ.html" > OCC< / a > < / li >
< li class = "phpdocumentor-breadcrumb" > < a href = "namespaces/occ-basics.html" > Basics< / a > < / li >
< li class = "phpdocumentor-breadcrumb" > < a href = "namespaces/occ-basics-traits.html" > Traits< / a > < / li >
< / ul >
< article class = "phpdocumentor-element -trait" >
< h2 class = "phpdocumentor-content__title" >
Setter
< / h2 >
< aside class = "phpdocumentor-element-found-in" >
< abbr class = "phpdocumentor-element-found-in__file" title = "src/Traits/Setter.php" > < a href = "files/src-traits-setter.html" > < abbr title = "src/Traits/Setter.php" > Setter.php< / abbr > < / a > < / abbr >
:
2024-02-19 14:52:57 +01:00
< span class = "phpdocumentor-element-found-in__line" > 48< / span >
2024-02-12 17:21:57 +01:00
2024-02-19 14:52:57 +01:00
< a href = "classes/OCC-Basics-Traits-Setter.html#source-view.48" class = "phpdocumentor-element-found-in__source" data-line = "48" data-modal = "source-view" data-src = "files/src/Traits/Setter.php.txt" > < / a >
2024-02-12 17:21:57 +01:00
< / aside >
< p class = "phpdocumentor-summary" > Writes data to inaccessible properties by using magic methods.< / p >
2024-07-11 13:08:56 +02:00
2024-02-12 17:21:57 +01:00
< section class = "phpdocumentor-description" > < p > To make a < code class = "prettyprint" > protected< / code > or < code class = "prettyprint" > private< / code > property writable, provide a method named
< code class = "prettyprint" > _magicSet{Property}()< / code > which handles the writing. Replace < code class = "prettyprint" > {Property}< / code > in
the method's name with the name of the actual property (with an uppercase
first letter).< / p >
< blockquote >
< p > Example: If the property is named < code class = "prettyprint" > $fooBar< / code > , the " magic" method has to be
< code class = "prettyprint" > _magicSetFooBar()< / code > . This method is then called when < code class = "prettyprint" > $fooBar< / code > is written
to in a context where it normally would not be accessible.< / p >
< / blockquote >
< / section >
< h5 class = "phpdocumentor-tag-list__heading" id = "tags" >
Tags
< a href = "classes/OCC-Basics-Traits-Setter.html#tags" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< / h5 >
< dl class = "phpdocumentor-tag-list" >
< dt class = "phpdocumentor-tag-list__entry" >
< span class = "phpdocumentor-tag__name" > author< / span >
< / dt >
< dd class = "phpdocumentor-tag-list__definition" >
< section class = "phpdocumentor-description" > < p > Sebastian Meyer < a href = "mailto:sebastian.meyer@opencultureconsulting.com" > sebastian.meyer@opencultureconsulting.com< / a > < / p >
< / section >
< / dd >
2024-07-11 13:08:56 +02:00
< / dl >
2024-02-12 17:21:57 +01:00
< h3 id = "toc" >
Table of Contents
< a href = "classes/OCC-Basics-Traits-Setter.html#toc" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< / h3 >
< h4 id = "toc-methods" >
Methods
< a href = "classes/OCC-Basics-Traits-Setter.html#toc-methods" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< / h4 >
< dl class = "phpdocumentor-table-of-contents" >
< dt class = "phpdocumentor-table-of-contents__entry -method -public" >
2024-07-11 13:08:56 +02:00
< a class = "" href = "classes/OCC-Basics-Traits-Setter.html#method___set" > __set()< / a >
2024-02-12 17:21:57 +01:00
< span >
: void < / span >
< / dt >
< dd > Write data to an inaccessible property.< / dd >
< dt class = "phpdocumentor-table-of-contents__entry -method -public" >
2024-07-11 13:08:56 +02:00
< a class = "" href = "classes/OCC-Basics-Traits-Setter.html#method___unset" > __unset()< / a >
2024-02-12 17:21:57 +01:00
< span >
: void < / span >
< / dt >
< dd > Unset an inaccessible property.< / dd >
< / dl >
< section class = "phpdocumentor-methods" >
< h3 class = "phpdocumentor-elements__header" id = "methods" >
Methods
< a href = "classes/OCC-Basics-Traits-Setter.html#methods" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< / h3 >
< article
class="phpdocumentor-element
-method
-public
"
>
< h4 class = "phpdocumentor-element__name" id = "method___set" >
__set()
< a href = "classes/OCC-Basics-Traits-Setter.html#method___set" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< / h4 >
< aside class = "phpdocumentor-element-found-in" >
< abbr class = "phpdocumentor-element-found-in__file" title = "src/Traits/Setter.php" > < a href = "files/src-traits-setter.html" > < abbr title = "src/Traits/Setter.php" > Setter.php< / abbr > < / a > < / abbr >
:
2024-02-19 14:52:57 +01:00
< span class = "phpdocumentor-element-found-in__line" > 60< / span >
2024-02-12 17:21:57 +01:00
2024-02-19 14:52:57 +01:00
< a href = "classes/OCC-Basics-Traits-Setter.html#source-view.60" class = "phpdocumentor-element-found-in__source" data-line = "60" data-modal = "source-view" data-src = "files/src/Traits/Setter.php.txt" > < / a >
2024-02-12 17:21:57 +01:00
< / aside >
< p class = "phpdocumentor-summary" > Write data to an inaccessible property.< / p >
< code class = "phpdocumentor-code phpdocumentor-signature " >
< span class = "phpdocumentor-signature__visibility" > public< / span >
< span class = "phpdocumentor-signature__name" > __set< / span > < span > (< / span > < span class = "phpdocumentor-signature__argument" > < span class = "phpdocumentor-signature__argument__return-type" > string < / span > < span class = "phpdocumentor-signature__argument__name" > $property< / span > < / span > < span class = "phpdocumentor-signature__argument" > < span > , < / span > < span class = "phpdocumentor-signature__argument__return-type" > mixed < / span > < span class = "phpdocumentor-signature__argument__name" > $value< / span > < / span > < span > )< / span > < span > : < / span > < span class = "phpdocumentor-signature__response_type" > void< / span > < / code >
< div class = "phpdocumentor-label-line" >
< / div >
2024-07-11 13:08:56 +02:00
2024-02-12 17:21:57 +01:00
< h5 class = "phpdocumentor-argument-list__heading" > Parameters< / h5 >
< dl class = "phpdocumentor-argument-list" >
< dt class = "phpdocumentor-argument-list__entry" >
< span class = "phpdocumentor-signature__argument__name" > $property< / span >
: < span class = "phpdocumentor-signature__argument__return-type" > string< / span >
< / dt >
< dd class = "phpdocumentor-argument-list__definition" >
< section class = "phpdocumentor-description" > < p > The class property to set< / p >
< / section >
< / dd >
< dt class = "phpdocumentor-argument-list__entry" >
< span class = "phpdocumentor-signature__argument__name" > $value< / span >
: < span class = "phpdocumentor-signature__argument__return-type" > mixed< / span >
< / dt >
< dd class = "phpdocumentor-argument-list__definition" >
< section class = "phpdocumentor-description" > < p > The new value of the property< / p >
< / section >
< / dd >
< / dl >
< h5 class = "phpdocumentor-tag-list__heading" id = "tags" >
Tags
< a href = "classes/OCC-Basics-Traits-Setter.html#method___set#tags" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< / h5 >
< dl class = "phpdocumentor-tag-list" >
< dt class = "phpdocumentor-tag-list__entry" >
< span class = "phpdocumentor-tag__name" > throws< / span >
< / dt >
< dd class = "phpdocumentor-tag-list__definition" >
< span class = "phpdocumentor-tag-link" > < abbr title = "\InvalidArgumentException" > InvalidArgumentException< / abbr > < / span >
< section class = "phpdocumentor-description" > < p > if the property or setter method do not exist< / p >
< / section >
< / dd >
< / dl >
2024-07-11 13:08:56 +02:00
2024-02-12 17:21:57 +01:00
< / article >
< article
class="phpdocumentor-element
-method
-public
"
>
< h4 class = "phpdocumentor-element__name" id = "method___unset" >
__unset()
< a href = "classes/OCC-Basics-Traits-Setter.html#method___unset" class = "headerlink" > < i class = "fas fa-link" > < / i > < / a >
< / h4 >
< aside class = "phpdocumentor-element-found-in" >
< abbr class = "phpdocumentor-element-found-in__file" title = "src/Traits/Setter.php" > < a href = "files/src-traits-setter.html" > < abbr title = "src/Traits/Setter.php" > Setter.php< / abbr > < / a > < / abbr >
:
2024-02-19 14:52:57 +01:00
< span class = "phpdocumentor-element-found-in__line" > 83< / span >
2024-02-12 17:21:57 +01:00
2024-02-19 14:52:57 +01:00
< a href = "classes/OCC-Basics-Traits-Setter.html#source-view.83" class = "phpdocumentor-element-found-in__source" data-line = "83" data-modal = "source-view" data-src = "files/src/Traits/Setter.php.txt" > < / a >
2024-02-12 17:21:57 +01:00
< / aside >
< p class = "phpdocumentor-summary" > Unset an inaccessible property.< / p >
< code class = "phpdocumentor-code phpdocumentor-signature " >
< span class = "phpdocumentor-signature__visibility" > public< / span >
< span class = "phpdocumentor-signature__name" > __unset< / span > < span > (< / span > < span class = "phpdocumentor-signature__argument" > < span class = "phpdocumentor-signature__argument__return-type" > string < / span > < span class = "phpdocumentor-signature__argument__name" > $property< / span > < / span > < span > )< / span > < span > : < / span > < span class = "phpdocumentor-signature__response_type" > void< / span > < / code >
< div class = "phpdocumentor-label-line" >
< / div >
2024-07-11 13:08:56 +02:00
2024-02-12 17:21:57 +01:00
< h5 class = "phpdocumentor-argument-list__heading" > Parameters< / h5 >
< dl class = "phpdocumentor-argument-list" >
< dt class = "phpdocumentor-argument-list__entry" >
< span class = "phpdocumentor-signature__argument__name" > $property< / span >
: < span class = "phpdocumentor-signature__argument__return-type" > string< / span >
< / dt >
< dd class = "phpdocumentor-argument-list__definition" >
< section class = "phpdocumentor-description" > < p > The class property to unset< / p >
< / section >
< / dd >
< / dl >
2024-07-11 13:08:56 +02:00
2024-02-12 17:21:57 +01:00
< / article >
< / section >
< div class = "phpdocumentor-modal" id = "source-view" >
< div class = "phpdocumentor-modal-bg" data-exit-button > < / div >
< div class = "phpdocumentor-modal-container" >
< div class = "phpdocumentor-modal-content" >
< pre style = "max-height: 500px; overflow-y: scroll" data-src = "files/src/Traits/Setter.php.txt" class = "language-php line-numbers linkable-line-numbers" > < / pre >
< / div >
< button data-exit-button class = "phpdocumentor-modal__close" > × < / button >
< / div >
< / div >
< script type = "text/javascript" >
(function () {
function loadExternalCodeSnippet(el, url, line) {
Array.prototype.slice.call(el.querySelectorAll('pre[data-src]')).forEach((pre) => {
const src = url || pre.getAttribute('data-src').replace(/\\/g, '/');
const language = 'php';
const code = document.createElement('code');
code.className = 'language-' + language;
pre.textContent = '';
pre.setAttribute('data-line', line)
code.textContent = 'Loading…';
pre.appendChild(code);
var xhr = new XMLHttpRequest();
xhr.open('GET', src, true);
xhr.onreadystatechange = function () {
if (xhr.readyState !== 4) {
return;
}
if (xhr.status < 400 & & xhr . responseText ) {
code.textContent = xhr.responseText;
Prism.highlightElement(code);
return;
}
if (xhr.status === 404) {
code.textContent = '✖ Error: File could not be found';
return;
}
if (xhr.status >= 400) {
code.textContent = '✖ Error ' + xhr.status + ' while fetching file: ' + xhr.statusText;
return;
}
code.textContent = '✖ Error: An unknown error occurred';
};
xhr.send(null);
});
}
const modalButtons = document.querySelectorAll("[data-modal]");
const openedAsLocalFile = window.location.protocol === 'file:';
if (modalButtons.length > 0 & & openedAsLocalFile) {
console.warn(
'Viewing the source code is unavailable because you are opening this page from the file:// scheme; ' +
'browsers block XHR requests when a page is opened this way'
);
}
modalButtons.forEach(function (trigger) {
if (openedAsLocalFile) {
trigger.setAttribute("hidden", "hidden");
}
trigger.addEventListener("click", function (event) {
event.preventDefault();
const modal = document.getElementById(trigger.dataset.modal);
if (!modal) {
console.error(`Modal with id "${trigger.dataset.modal}" could not be found`);
return;
}
modal.classList.add("phpdocumentor-modal__open");
loadExternalCodeSnippet(modal, trigger.dataset.src || null, trigger.dataset.line)
const exits = modal.querySelectorAll("[data-exit-button]");
exits.forEach(function (exit) {
exit.addEventListener("click", function (event) {
event.preventDefault();
modal.classList.remove("phpdocumentor-modal__open");
});
});
});
});
})();
< / script >
< / article >
< / section >
< section class = "phpdocumentor-on-this-page__sidebar" >
< section class = "phpdocumentor-on-this-page__content" >
< strong class = "phpdocumentor-on-this-page__title" > On this page< / strong >
< ul class = "phpdocumentor-list -clean" >
< li class = "phpdocumentor-on-this-page-section__title" > Table Of Contents< / li >
< li >
< ul class = "phpdocumentor-list -clean" >
< li > < a href = "classes/OCC-Basics-Traits-Setter.html#toc-methods" > Methods< / a > < / li >
< / ul >
< / li >
< li class = "phpdocumentor-on-this-page-section__title" > Methods< / li >
< li >
< ul class = "phpdocumentor-list -clean" >
2024-07-11 13:08:56 +02:00
< li class = "" > < a href = "classes/OCC-Basics-Traits-Setter.html#method___set" > __set()< / a > < / li >
< li class = "" > < a href = "classes/OCC-Basics-Traits-Setter.html#method___unset" > __unset()< / a > < / li >
2024-02-12 17:21:57 +01:00
< / ul >
< / li >
< / ul >
< / section >
< / section >
< / div >
< section data-search-results class = "phpdocumentor-search-results phpdocumentor-search-results--hidden" >
< section class = "phpdocumentor-search-results__dialog" >
< header class = "phpdocumentor-search-results__header" >
< h2 class = "phpdocumentor-search-results__title" > Search results< / h2 >
< button class = "phpdocumentor-search-results__close" > < i class = "fas fa-times" > < / i > < / button >
< / header >
< section class = "phpdocumentor-search-results__body" >
< ul class = "phpdocumentor-search-results__entries" > < / ul >
< / section >
< / section >
< / section >
< / div >
< a href = "classes/OCC-Basics-Traits-Setter.html#top" class = "phpdocumentor-back-to-top" > < i class = "fas fa-chevron-circle-up" > < / i > < / a >
< / main >
< script >
cssVars({});
< / script >
< script src = "https://cdn.jsdelivr.net/npm/prismjs@1.23.0/prism.min.js" > < / script >
< script src = "https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/autoloader/prism-autoloader.min.js" > < / script >
< script src = "https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/line-numbers/prism-line-numbers.min.js" > < / script >
< script src = "https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/line-highlight/prism-line-highlight.min.js" > < / script >
< / body >
< / html >