Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Merita achizitionat DFSK Fengon 5...

Pret actual invelitoare

Probleme baterie Samsung A54

Schema statie auto Renegade REN 1...
 Magazine IT de incredere

Parere SKODA Octavia 3 2.0TDI 150CP

Achizitie telefon 1000-1200lei

Unde gasesc o lampa buna pe gaz?
 Consulta specialiștii... Und...

Fostul director al Frontex: Comis...

Construire anexa lipita de casa

Ce folositi pentru urina mirosito...
 Socializare in prezenta copiilor

Cont Samsung A32

Hotarare definitiva a instantei, ...

Laptop office 2500 lei
 

Câteva întrebări despre namespace-uri.

- - - - -
  • Please log in to reply
4 replies to this topic

#1
MembruAnonim

MembruAnonim

    MembruAnonim

  • Grup: Banned
  • Posts: 398,083
  • Înscris: 08.10.2015
Salutare!

Am așa:

Un folder numit "Scoli" și înauntru am folderele "Scoala_nr_1", "Scoala_nr_2" etc.

În folderul "Scoli" am clasa "Scoli". Clasă care este extinsă de clasele din folderele "Scoala_nr_1", ''Scoala_nr_2" etc.

Începutul clasei "Scoli" arată așa:

<?php
namespace Scoli;

class Scoli
{


În folderul "Scoala_nr_1" am clasa "Elevi", Iar începutul arată așa:

<?php
namespace Scoli\Scoala_nr_1;

use Scoli\Scoli;

final class Elevi extends Scoli
{


Întrebările sunt următoarele:

1. Știu că clasa "Scoli" ar trebui probabil să aibă numele "Base", poate, dar așa îmi e mai clar. E o greșeală ?

2. În clasa Elevi folosesc "use Scoli\Scoli;" ca mai apoi să extind clasa cu "extends Scoli". La fel de bine pot să folosesc "extends \Scoli\Scoli" fără să mai folosesc keyword-ul use. Cum este recomandat ? Să folosesc în fiecare clasă "use Scoli\Scoli;" sau să extind direct cu namespace ?

3. În clasa Elevi eu sunt în namespace-ul "Scoli" iar ca să extind clasa "Scoli" trebuie să folosesc tot namespace-ul clasei, adică "Scoli\Scoli". Fac eu ceva greșit sau mi se pare ? Adică, dacă sunt deja în namespace-ul "Scoli", nu ar trebui să pot include clasa "Scoli" folosind 'extends Scoli' (cum ar fi în cazul includerii unui fișier dintr-un director părinte "../scoli" ) ?

Dacă e posibil, vă rog să-mi răspundeți punctul la întrebări.

Mulțumesc!

#2
alx42

alx42

    Senior Member

  • Grup: Senior Members
  • Posts: 2,802
  • Înscris: 26.06.2014
ideea la astea era sa eviti conflicte cu clase din afara proiectului tau, in special cele din asa-zisele "frameworks".
in rest namespaceul in php e inutil si mai mult incurca

#3
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
Pe lângă ce s-a spus: pe mine mă îngrijorează mai mult acele "nr 1","nr 2".

Care e diferența dintre ele? Nu sună a design OOP bun.

Sună a abstractizări greșite. Sună a tăierea tortului (problema mare) în felii de-a latul, nu de-a lungul.

#4
MembruAnonim

MembruAnonim

    MembruAnonim

  • Grup: Banned
  • Posts: 398,083
  • Înscris: 08.10.2015
Codul de mai sus este doar un exemplu ca să poată cineva să-mi răspundă la întrebări. În realitate, clasele moștenitoare au denumiri diferite și fac lucruri diferite. Totuși, au câteva lucruri în comun. De asta e necesară extinderea clasei "Scoli".

Aș aprecia dacă mi-ar răspunde cineva și la întrebări.

#5
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

 CAD, on 27 mai 2020 - 01:07, said:

Codul de mai sus este doar un exemplu ca să poată cineva să-mi răspundă la ĂŽntrebări. În realitate, clasele moștenitoare au denumiri diferite și fac lucruri diferite. Totuși, au câteva lucruri ĂŽn comun. De asta e necesară extinderea clasei "Scoli".

Aș aprecia dacă mi-ar răspunde cineva și la ĂŽntrebări.

În exemplul tău fictiv, la fiecare dintre cele trei întrebări, răspunsul este:

- depinde
- e o chestiune de gusturi


Dacă vrei ajutor pentru realitate, trebuie să și vii cu structura claselor și numele lor din realitate.

Detaliile contează.

Anunturi

Neurochirurgie minim invazivă Neurochirurgie minim invazivă

"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv.

Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate