PluginProbe
Yoast SEO – Advanced SEO with real-time guidance and built-in AI / trunk
Yoast SEO – Advanced SEO with real-time guidance and built-in AI vtrunk
28.5 28.4 28.3 28.2 28.1 28.0 27.9 27.8 27.7 27.6 27.5 trunk 18.0 18.1 18.2 18.3 18.4 18.4.1 18.5 18.5.1 18.6 18.7 18.8 18.9 19.0 All 129 releases
← All changes | src/surfaces/open-graph-helpers-surface.php +31 -3 18.9 → trunk View file →
@@ -1,8 +1,9 @@
1 1 <?php
2 2
3 3 namespace Yoast\WP\SEO\Surfaces;
4 4
5 +use Yoast\WP\SEO\Exceptions\Forbidden_Property_Mutation_Exception;
5 6 use Yoast\WP\SEO\Helpers\Open_Graph;
6 7 use YoastSEO_Vendor\Symfony\Component\DependencyInjection\ContainerInterface;
7 8
8 9 /**
@@ -9,10 +10,8 @@
9 10 * Class Open_Graph_Helpers_Surface.
10 11 *
11 12 * Surface for the indexables.
12 13 *
13 - * @phpcs:disable Yoast.NamingConventions.ObjectNameDepth.MaxExceeded -- 4 words is fine.
14 - *
15 14 * @property Open_Graph\Image_Helper $image
16 15 */
17 16 class Open_Graph_Helpers_Surface {
18 17
@@ -47,12 +46,41 @@
47 46 * Magic isset for ensuring helper exists.
48 47 *
49 48 * @param string $helper The helper to get.
50 49 *
51 - * @return bool The helper class.
50 + * @return bool Whether the helper exists.
52 51 */
53 52 public function __isset( $helper ) {
54 53 return $this->container->has( $this->get_helper_class( $helper ) );
54 + }
55 +
56 + /**
57 + * Prevents setting dynamic properties and unsetting declared properties
58 + * from an inaccessible context.
59 + *
60 + * @param string $name The property name.
61 + * @param mixed $value The property value.
62 + *
63 + * @return void
64 + *
65 + * @throws Forbidden_Property_Mutation_Exception Set is never meant to be called.
66 + */
67 + public function __set( $name, $value ) { // @phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundAfterLastUsed -- __set must have a name and value - PHPCS #3715.
68 + throw Forbidden_Property_Mutation_Exception::cannot_set_because_property_is_immutable( $name );
69 + }
70 +
71 + /**
72 + * Prevents unsetting dynamic properties and unsetting declared properties
73 + * from an inaccessible context.
74 + *
75 + * @param string $name The property name.
76 + *
77 + * @return void
78 + *
79 + * @throws Forbidden_Property_Mutation_Exception Unset is never meant to be called.
80 + */
81 + public function __unset( $name ) {
82 + throw Forbidden_Property_Mutation_Exception::cannot_unset_because_property_is_immutable( $name );
55 83 }
56 84
57 85 /**
58 86 * Get the class name from a helper slug