php - Defining class constants in facades -
I have some libraries that are set for my large application which reveal the constant.
For example, I
my class definition looks like this:
& lt; Php? There is a class to calculate the holidays and work days, some reports are used to calculate the number of working days. Name Location MyApp \ libraries; / ** * Holig Calculation Helper Library * An Assistant Class to Calculate Vacations and Work Days * / Class Vacations {* ** Define EBS Vacations: New Year's Day * / Const New_IERS_AY = "New Year's Day"; / ** * Defined EBS Holidays: Independence Day * / Combined INDEPENDENCE_DAY = "Independence Day"; / ** * Defined EBS Holiday: Christmas Day * / Cut CHRISTMAS_DAY = "Christmas Day"; ...
They are used by a date
method (for example), which takes the leave constant value and one year and that holiday The date gives it in the year. I have a mask and a service provider, so this library can be used in Lorval Way and Trade . Everything works perfectly, I have a unit test for everything, and I'm happy with the code. / P>
The question I have is how to refer to these constants, if I am using the mask and calling the library from other parts of my code, then it seems:
< Pre> $ xmas = \ holidays: date (\ MyApp \ library \ holidays: CHRISTMAS_DAY, "2014");
It works, but I like to use the mask to do it, like:
$ xmas = \ holidays: date (\ Holidays :: Christmas, "2014");
I have thought of a solution that defines the constants in the mask it works, but then I am isolating values continuously from the library - for obvious reasons, I I would prefer to keep those values with those codes from which they are connected.
Then, I have another solution: Define the constants as above, then refer them to the mask like this:
Now I can mention the constant through a mask rather than a fully qualified library class, and I have to define only once for a static value (though I It is necessary to add any new constants to both the Library and the Mask), and this is what I want, but it seems a bit like a violation of the Drought (repeat theory itself).
So here's the question. What is the best way to do this?
You can use Before you declare your class announcement and add your name after declaring location ... Use inside your class like this .... use
your \ MyApp \ Library \ Holidays
surname, but unfortunately, a serious error will be thrown by using leave
, so I suggest aliasing it as holidays> which will give you future Can save some confusion in
Use \ MyApp \ libraries for holidays vacations in the form of;
$ xmas = \ holidays :: date (vacation :: CHRISTMAS_DAY, " 2014 ");
Comments
Post a Comment