Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:113279 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 2657 invoked from network); 26 Feb 2021 08:36:49 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 26 Feb 2021 08:36:49 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 51BB01804DD for ; Fri, 26 Feb 2021 00:26:01 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 X-Spam-Virus: No X-Envelope-From: Received: from sender4-op-o11.zoho.com (sender4-op-o11.zoho.com [136.143.188.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Fri, 26 Feb 2021 00:26:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614327957; cv=none; d=zohomail.com; s=zohoarc; b=ghza5HTG0NQmL8nSE+7wFkcjGh0/2Xp4xuDrNS3aKsLh4OOwqhf+QoYejp5EaJ9LOG8vEQmhOGyqD0I8xSPPRbpWNnqcu5Rn01Lmo/xFrERohsePmIQ3fBVUYMhfwinrm2oLgskIm1dDUMB1SJG9E7XbH1tmavjlymWUnUEicbg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1614327957; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=VdS3gNv2RhzJw3yBoINeKX7gkdQ0gbVUYtnHW+KKNdI=; b=dDwZdZGds14wk703gR27LtAFIZ2Yn17OXJQ7oTyeX3fR7PP60f9+a9ovn9w18JHd1IUQZamJcGggu6W2ZSmlMGV291SciNaxrTGerUXgyOL0F/9i6e7C7T54IyLmna6ahdUIVKuBExVIQOiyrGtvt5rbm/5ho1czDm+ZdSorIGk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=manuelcanga.dev; spf=pass smtp.mailfrom=php@manuelcanga.dev; dmarc=pass header.from= header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1614327957; s=zoho; d=manuelcanga.dev; i=php@manuelcanga.dev; h=Date:From:To:Cc:Message-ID:In-Reply-To:References:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding; bh=VdS3gNv2RhzJw3yBoINeKX7gkdQ0gbVUYtnHW+KKNdI=; b=I7v86d144REthNWmxvcWO7/D8WmAPdmt1EwuikBapChpPXWYgFYXPvgRFXnIXSG5 GxXZQWIubHgNkSwBKg6ybRYzFtiZinglRlaNS3o1ZXpCL673rsvPdSQ9GJGr/2WFbfn P8MGSkKLPUydXSSPt8BqICI0/c2UuOnHdN/aJIJM= Received: from mail.zoho.com by mx.zohomail.com with SMTP id 1614327926332121.01198738623316; Fri, 26 Feb 2021 00:25:26 -0800 (PST) Date: Fri, 26 Feb 2021 09:25:26 +0100 To: "Manuel Canga" Cc: "David Gebler" , "Internals" Message-ID: <177dd714e27.eee40e6c18676.6075409053032215672@manuelcanga.dev> In-Reply-To: <177dd68f109.c748581d17565.7200783349436492456@manuelcanga.dev> References: <177db7bbf72.ecf4615f732310.8822018854991483226@manuelcanga.dev> <177dd68f109.c748581d17565.7200783349436492456@manuelcanga.dev> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Importance: Medium User-Agent: Zoho Mail X-Mailer: Zoho Mail Subject: Re: [PHP-DEV] [RFC] class_name:namespace From: php@manuelcanga.dev (Manuel Canga) I'm Sorry, I feel a little nervous by writing here again after long time. Replace '/' by '\' and PATH( HELPER_PATH | SERVICE_PATH ) by NAMESPACE( HE= LPER_NAMESPACE | SERVICE_NAMESPACE ). Sorry ---- En vie, 26 feb 2021 09:16:18 +0100 Manuel Canga = escribi=C3=B3 ---- > Hello, another example with "factories method"[1]: >=20 > ```php > use MyProject\Framework; >=20 > abstract class AbstractController { > private const HELPER_PATH =3D static::namespace.'/Helpers'; > private const SERVICE_PATH =3D static::namespace.'/Services'; >=20 > public function instanceHelper( string $helperClass ) { > $helperClassName =3D self::HELPER_PATH."/{$helperClass}"; >=20 > return new $helperClassName(); > } >=20 > public function instanceService( string $serviceClass ) { > $serviceClassName =3D self::SERVICE_PATH."/{$serviceClass}"; >=20 > return new $serviceClassName(); > } > } >=20 > use MyProject\MyModule; >=20 > class Controller { > public function __invoke() { > //...... > $date =3D $this->instanceHelper('Date'); > //... > } >=20 > } > ``` >=20 > [1]: https://en.wikipedia.org/wiki/Factory_method_pattern >=20 > Regards > -- > Manuel Canga >=20 > Zend Certified PHP Engineer=20 > Websites: https://manuelcanga.dev | https://trasweb.net > Linkedin: https://es.linkedin.com/in/manuelcanga >=20 > --=20 > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: https://www.php.net/unsub.php >=20 >=20