(Когда) я должен использовать тип, подсказывающий в PHP?

Это также подтачивало меня на время, трюк заключается в том, чтобы поместить вашу стекную панель в scrollviewer.

Кроме того, вам нужно убедиться, что вы задали свойство CanContentScroll средства просмотра прокрутки равным True. пример:

  <ScrollViewer Grid.Row="1" Margin="299,12,34,54" Name="ScrollViewer1" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" Height="195" CanContentScroll="True">
        <StackPanel Name="StackPanel1" OverridesDefaultStyle="False"  Height="193" Width="376" VerticalAlignment="Top" HorizontalAlignment="Left"></StackPanel>
  </ScrollViewer>
23
задан Ivan Krechetov 11 February 2009 в 12:13
поделиться

5 ответов

Это не о помехах по сравнению с динамическим контролем типов, php является все еще динамичным. Это о контрактах для интерфейсов. Если Вы знаете, что функция требует массива как одного из его параметров, вызовите его тут же в функциональном определении. Я предпочитаю перестать работать быстро, а не erroring позже вниз в функции.

(Также отмечают, что Вы наклоняетесь, указывают тип, подсказывающий для bool, интервала, строки, плавания, которое имеет смысл в динамическом контексте.)

35
ответ дан Mario 29 November 2019 в 01:02
поделиться

Необходимо использовать тип, подсказывающий каждый раз, когда код в функции определенно полагается на тип переданного параметра. Код генерировал бы ошибку так или иначе, но подсказка типа даст Вам лучшее сообщение об ошибке.

16
ответ дан soulmerge 29 November 2019 в 01:02
поделиться

Мотивация группы PHP для добавления вывода подсказок типа должна была предоставить людям, привыкшим к ООП стиля Java с другой функцией, которая сделает платформу более знакомой, удобной, и обращение. Это, в свою очередь, сделало бы PHP большим количеством "предприятия готовый", который поможет Пехлеви с их основным бизнесом.

Маркетинг в стороне, это действительно имеет свое использование. Если Вы пишете метод, который воздействует на параметр в особенном методе, который вызвал бы непреднамеренный (часто тихий) отказы, если бы параметр был чем-то еще, то использование вывода подсказок типа гарантирует, что код повредится во время разработки вместо того, чтобы прервать производство.

12
ответ дан Alan Storm 29 November 2019 в 01:02
поделиться

Если Вы когда-нибудь решаете, что выполнение типа, подсказывающего, по крайней мере, делает это интерфейсы использования вместо реальных или абстрактных классов. Причина проста, PHP не позволяет множественное наследование, но действительно позволяет реализовывать несколько интерфейсов. Таким образом, если кто-либо попытается пользоваться Вашей библиотекой, то она не испытает затруднения при реализации интерфейса в противоположность случаю, где он должен был бы расширить краткий обзор/реальный класс, учитывая, что он уже уже расширяет другого.

5
ответ дан Ionuț G. Stan 29 November 2019 в 01:02
поделиться

Без типа, подсказывающего его, было бы невозможно для IDE знать тип параметра метода и таким образом обеспечить надлежащий intellisense - у Вашего редактора действительно есть intellisense, правильно? ;). Нужно сказать, что я просто предполагаю, что IDE используют это для intellisense, поскольку это является первым, я услышал о типе, подсказывающем в PHP (спасибо за подсказку btw).

0
ответ дан Morten Christiansen 29 November 2019 в 01:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: