PHP имеет оболочку потока ssh2 (по умолчанию отключена), поэтому вы можете использовать соединения sftp с любой функцией, поддерживающей обтекатели потоков, используя ssh2.sftp://
для протокола, например
file_get_contents('ssh2.sftp://user:pass@example.com:22/path/to/filename');
или - когда также используя расширение ssh2
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);
$stream = fopen("ssh2.sftp://$sftp/path/to/file", 'r');
См. http://php.net/manual/en/wrappers.ssh2.php
На стороне примечания также есть довольно много вопросов по этой теме:
Если v-on - единственный прослушиватель, который будет использоваться, может быть проще использовать v-model
, как в примере с флажком из документов ввода Vue .
Однако вы можете использовать слушателей на основе Binding-Native-Events-to-Components документов
<template>
<div class="field">
<label :for="name" class="label">
{{ label }}
</label>
<div class="control">
<input :id="name" :name="name" type="checkbox" class="control" checked="value" v-on="listeners" />
</div>
<p v-show="this.hasErrors" class="help has-text-danger">
<ul>
<li v-for="error in errors" :key="error">{{ error }}</li>
</ul>
</p>
</div>
</template>
<script>
export default {
name: 'check-edit',
props: {
value: {
type: Boolean,
default: false
},
label: {
type: String,
default: ''
},
name: {
type: String,
default: ''
},
errors: {
type: Array,
default: () => []
}
},
mounted() {},
computed: {
listeners() {
var vm = this;
// `Object.assign` merges objects together to form a new object
return Object.assign(
{},
// We add all the listeners from the parent
this.$listeners,
// Then we can add custom listeners or override the
// behavior of some listeners.
{
// This ensures that the component works with v-model
input: function(event) {
vm.$emit('input', event.target.checked);
}
}
);
},
hasErrors() {
return this.errors.length > 0;
}
}
};
</script>
Вы не должны $emit event.target.value
, это значение флажка, это не логическое значение. Если вы хотите определить, является ли флажок обновлением (быть истинным или ложным) или нет, вам следует $emit event.target.checked
точно так же, как сказал fstep.
Не меняйте реквизит. Ваш компонент, имеющий v-model
, должен излучать входные события при изменении . Родитель будет обрабатывать фактическое изменение значения.