হ্যালো লারাভেল ৫ । ৪
- Installation
- লারাভেল আড্ডা
- প্রধান কাঠামো বিন্যাস
- থিম / ফ্রন্ট এণ্ড সেটআপ
- ডাটাবেস আলাপ - (Database)
- রিলেশনশিপ
- কন্ট্রোলার - Controller
- রাউটিং - Routing
- কালেকশনস - Collections
- ইলোকোয়েন্ট ও আর এম (Eloquent ORM)
- Eloquent Model
- ফাইল সিস্টেম / স্টোরেজ
- লারাভেল ডাস্ক - Laravel Dusk
- ভ্যালিডেশনস (Validations)
- নেমস্পেস - Namespace
- MVC
কালেকশনস - Collections
Collections কি? কেন গুরুত্বপূর্ণঃ
কালেকশন স মূলত লারাভেল প্রোজেক্ট এর সংগ্রহশালা । Illuminate\Support\Collection অ্যারে আকারে ডাটা প্রদান করে থাকে ।
আপনি অবশ্যই নিউজ পোর্টাল দেখেছেন । পোর্টাল গুলোতে ক্যাটেগরির প্রথম নিউজ একটু সাইজ এ বড় বাকি গুলো ছোট । বা এক সারিতে ৪ টা করে নিউজ শো করে । লারাভেলে এসব Collections দিয়ে করতে পারবেন ।
Method Listing
all()
সব কালেকশন পেতে চাইলে all() মেথড প্রয়োজন ।
|
avg()
avg() / average() - গড় । সর্বমোট কালেকশন কে অর্ধেক মান বের করতে প্রয়োজন avg() মেথড ।
|
chunk()
chunk যার অর্থ খণ্ড । একটা বড় কালেকশন কে খণ্ড খণ্ড করাটাই chunk() । আপনি আপনার সাইট এর সকল পোস্ট কে প্রতিটা সারিতে ৪ টা করে দেখাতে চান ,তখন chunk() প্রয়োজন । আপনি কালেকশন বা ব্লেড() যেকোনো টাই chunk() ববহার করতে পারবেন ।
|
সব চেয়ে বেশি গুরুত্বপূর্ণ views
এর জন্য chunk()
|
collapse()
কালেকশন এ দুই বা ততোধিক অ্যারে থাকলে , সব গুলো অ্যারে কে একটা অ্যারে তে নিতে চাইলে collapse()
মেথড প্রয়োজন ।
|
combine()
combine()
মূলত একটা অ্যারের keys এর সাথে অন্য অ্যারের values সংযুক্ত করে । এটা অনেকটা ফাংশন এর মত ।
|
contains()
কোন কালেকশন এ আইটেম খোজার জন্য contains()
ব্যবহার করতে পারেন । যে আইটেম খুজবেন সেতা থাকলে true , না থাকলে false
|
count()
|
diff()
|
diffKeys()
|
each()
every()
|
except()
|
filter()
|
first()
|
flatMap()
|
flatten()
|
flip()
|
forget()
|
forPage()
|
get()
|
groupBy()
has()
|
implode()
|
|
intersect()
|
isEmpty()
|
isNotEmpty()
|
keyBy()
keys()
|
last()
|
|
map()
|
mapWithKeys()
max()
|
median()
|
merge()
|
min()
|
mode()
|
nth()
|
only()
|
partition()
pipe()
|
pluck()
|
pop()
|
prepend()
|
pull()
|
push()
|
put()
|
random()
|
|
reduce()
reject()
|
reverse()
|
search()
|
shift()
|
shuffle()
|
slice()
|
|
sort()
|
sortBy()
|
sortByDesc()
splice()
|
split()
|
sum()
|
take()
|
tap()
times()
toArray()
|
toJson()
|
transform()
|
union()
|
unique()
|
values()
when()
where()
zip()
|
When the page loads, that element gains focus (note: autofocus doesn’t work on mobile Safari). In fact, if you haven’t clicked on anything else since visiting this page, the input above should be focused now. Now let’s build the directive that accomplishes this:
|
If you want to register a directive locally instead, components also accept a directives
option:
|
Then in a template, you can use the new v-focus
attribute on any element, like this:
|
Hook Functions
A directive definition object can provide several hook functions (all optional):
bind
: called only once, when the directive is first bound to the element. This is where you can do one-time setup work.inserted
: called when the bound element has been inserted into its parent node (this only guarantees parent node presence, not necessarily in-document).update
: called after the containing component has updated, but possibly before its children have updated. The directive’s value may or may not have changed, but you can skip unnecessary updates by comparing the binding’s current and old values (see below on hook arguments).componentUpdated
: called after the containing component and its children have updated.unbind
: called only once, when the directive is unbound from the element.
We’ll explore the arguments passed into these hooks (i.e. el
, binding
, vnode
, and oldVnode
) in the next section.
Directive Hook Arguments
Directive hooks are passed these arguments:
- el: The element the directive is bound to. This can be used to directly manipulate the DOM.
- binding: An object containing the following properties.
- name: The name of the directive, without the
v-
prefix. - value: The value passed to the directive. For example in
v-my-directive="1 + 1"
, the value would be2
. - oldValue: The previous value, only available in
update
andcomponentUpdated
. It is available whether or not the value has changed. - expression: The expression of the binding as a string. For example in
v-my-directive="1 + 1"
, the expression would be"1 + 1"
. - arg: The argument passed to the directive, if any. For example in
v-my-directive:foo
, the arg would be"foo"
. - modifiers: An object containing modifiers, if any. For example in
v-my-directive.foo.bar
, the modifiers object would be{ foo: true, bar: true }
.
- name: The name of the directive, without the
- vnode: The virtual node produced by Vue’s compiler. See the VNode API for full details.
- oldVnode: The previous virtual node, only available in the
update
andcomponentUpdated
hooks.
Apart from el
, you should treat these arguments as read-only and never modify them. If you need to share information across hooks, it is recommended to do so through element’s dataset.
An example of a custom directive using some of these properties:
|
|
Function Shorthand
In many cases, you may want the same behavior on bind
and update
, but don’t care about the other hooks. For example:
|
Object Literals
If your directive needs multiple values, you can also pass in a JavaScript object literal. Remember, directives can take any valid JavaScript expression.
|
|