diff --git a/lib/classes/deprecated.php b/lib/classes/attribute/deprecated.php similarity index 97% rename from lib/classes/deprecated.php rename to lib/classes/attribute/deprecated.php index 452f7844f2e..c68317bdf39 100644 --- a/lib/classes/deprecated.php +++ b/lib/classes/attribute/deprecated.php @@ -14,9 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Moodle. If not, see . -namespace core; - -use Attribute; +namespace core\attribute; /** * Attribute to describe a deprecated item. @@ -25,7 +23,7 @@ use Attribute; * @copyright 2023 Andrew Lyons * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -#[Attribute] +#[\Attribute] class deprecated { /** * A deprecated item. diff --git a/lib/classes/deprecated_with_reference.php b/lib/classes/attribute/deprecated_with_reference.php similarity index 94% rename from lib/classes/deprecated_with_reference.php rename to lib/classes/attribute/deprecated_with_reference.php index 82b1621d7dc..751cd8f111e 100644 --- a/lib/classes/deprecated_with_reference.php +++ b/lib/classes/attribute/deprecated_with_reference.php @@ -14,10 +14,10 @@ // You should have received a copy of the GNU General Public License // along with Moodle. If not, see . -namespace core; +namespace core\attribute; /** - * Attribute to describe a deprecated item. + * Attribute to describe a deprecated item which contains a reference to the owning feature. * * @package core * @copyright 2023 Andrew Lyons diff --git a/lib/classes/deprecation.php b/lib/classes/deprecation.php index 47f3e75a6f9..00738d8faa3 100644 --- a/lib/classes/deprecation.php +++ b/lib/classes/deprecation.php @@ -16,6 +16,9 @@ namespace core; +use core\attribute\deprecated; +use core\attribute\deprecated_with_reference; + /** * Deprecation utility. * diff --git a/lib/classes/param.php b/lib/classes/param.php index e6cba152b07..9c817ff4f5b 100644 --- a/lib/classes/param.php +++ b/lib/classes/param.php @@ -18,6 +18,7 @@ namespace core; use coding_exception; use core_text; +use core\attribute\deprecated; use core\ip_utils; use invalid_parameter_exception; use moodle_exception; diff --git a/lib/moodlelib.php b/lib/moodlelib.php index 1db650c1cf2..dccf07fc873 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -74,7 +74,6 @@ define('HOURMINS', 60); // We currently include \core\param manually here to avoid broken upgrades. // This may change after the next LTS release as LTS releases require the previous LTS release. require_once(__DIR__ . '/classes/deprecation.php'); -require_once(__DIR__ . '/classes/deprecated.php'); require_once(__DIR__ . '/classes/param.php'); /** diff --git a/lib/tests/deprecation_test.php b/lib/tests/deprecation_test.php index ac0beab12f5..dc0a1721fd0 100644 --- a/lib/tests/deprecation_test.php +++ b/lib/tests/deprecation_test.php @@ -16,15 +16,18 @@ namespace core; +use core\attribute\deprecated; +use core\attribute\deprecated_with_reference; + /** - * Tests for \core\deprecated and \core\deprecation. + * Tests for \core\attribute\sdeprecated and \core\deprecation. * * @package core * @category test * @copyright 2024 Andrew Lyons * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - * @covers \core\deprecated - * @covers \core\deprecated_with_reference + * @covers \core\attribute\deprecated + * @covers \core\attribute\deprecated_with_reference * @covers \core\deprecation */ class deprecation_test extends \advanced_testcase { diff --git a/lib/tests/fixtures/deprecated_fixtures.php b/lib/tests/fixtures/deprecated_fixtures.php index e3c11beb7ec..699862b3aa7 100644 --- a/lib/tests/fixtures/deprecated_fixtures.php +++ b/lib/tests/fixtures/deprecated_fixtures.php @@ -16,7 +16,7 @@ namespace core\fixtures; -use core\deprecated; +use core\attribute\deprecated; /** * A file containing a variety of fixturs for deprecated attribute tests. diff --git a/lib/upgrade.txt b/lib/upgrade.txt index 10ce896f2a7..e16ebd775ac 100644 --- a/lib/upgrade.txt +++ b/lib/upgrade.txt @@ -39,7 +39,7 @@ information provided here is intended especially for developers. * The following callbacks have been migrated to hooks: - before_standard_html_head() -> core\hook\output\standard_head_html_prepend * Deprecated PARAM_ types with the exception of PARAM_CLEAN now emit a deprecation exception. These were all deprecated in Moodle 2.0. -* A new \core\deprecated attribute can be used to more clearly describe deprecated methods. +* A new \core\attribute\deprecated attribute can be used to more clearly describe deprecated methods. * A new \core\deprecation class can be used to inspect for deprecated attributes: - `\core\deprecation::is_deprecated(example::class);` - `\core\deprecation::emit_deprecation_if_present([self::class, 'some_method']);`