Ευγενής απορία. Ποιά είναι η άποψή σας - και πως α...
# chat
i
Ευγενής απορία. Ποιά είναι η άποψή σας - και πως αντιμετωπίζετε το https://www.drupal.org/docs/develop/standards/php/php-coding-standards#s-functions-and-variables? 1. Ποιον τύπο naming προτιμάτε; 2. Χρησιμοποιείτε Variable promotion? https://stitcher.io/blog/constructor-promotion-in-php-8 3. Αν ναι, πως αντιμετωπίζετε περίεργες καταστάσεις; π.χ. σε Controller που η
::access
παίρνει σαν παράμετρο το
$my_entity_type
επειδή στο routing είναι
/some-page/{my_entity_type}/view
αλλά ταυτόχρονα θέλετε και variable promotion (που by default χρησιμοποιείται camelCase για class variables); Έχει κανείς εμπειρία σχετικά;
t
Προτιμώ το pattern
$snake_case
στο Drupal σε όλα τα σημεία. Για το
_construct()
παω όπως και το Drupal core, δηλ την αναπτυγμένη (παλαιού τύπου) μορφή:
Copy code
class CustomerDebug {
    public string $name;
    public string $email;
    public DateTimeImmutable $birth_date;

    public function __construct(
        string $name, 
        string $email, 
        DateTimeImmutable $birth_date
    ) {
        $this->name = $name;
        $this->email = $email;
        $this->birth_date = $birth_date;
    }
}
👍🏻 1
k
εγώ πάω με snake_case σε .module/ .inc αρχεία & camelCase σε classes. Δεν μου έχει τύχει να θέλω variable promotion σε μεταβλητή με 2 λέξεις άρα να έχω θέμα με το camelCase.
i
Αν ούτως ή άλλως χρησιμοποιείς camelCase στις classes δεν έχει διαφορά ούτως ή άλλως. Το χρησιμοποιήσεις ακόμα και για local variables?
k
προσπαθώ να το πάω όπως το drupal core
Copy code
class BanAdmin extends FormBase {

  /**
   * @var \Drupal\ban\BanIpManagerInterface
   */
  protected $ipManager;

  /**
   * Constructs a new BanAdmin object.
   *
   * @param \Drupal\ban\BanIpManagerInterface $ip_manager
   *   The ban IP manager.
   */
  public function __construct(BanIpManagerInterface $ip_manager) {
    $this->ipManager = $ip_manager;
  }
i
Ναι αλλά μετά στα methods? Πως ορίζεις local variables σε ένα δικό σου protected?